Last active
August 29, 2015 14:06
-
-
Save marcoonroad/6fd821b38cbaf5c7e338 to your computer and use it in GitHub Desktop.
Lento porém elegante, tente algo como "$ perl6 ThisScript.pl6 15" no terminal...
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl6 | |
use v6; | |
sub MAIN ($x) { | |
([+] ([+] ((^2, * + * ... *).grep(* %% 2))[^$x]).comb).say; | |
} | |
# [DESAFIO / LANGUAGE WAR] | |
# | |
# Implemente um programa na sua linguagem favorita onde o usuário digita um número x, e o | |
# programa calcula o somatório dos x primeiros números pares da sequência fibonacci, e imprime a | |
# soma dos algarismos desse número. | |
# | |
# Por exemplo, quando x = 5, a resposta é 17, pois: | |
# | |
# 1. A sequência fibonacci é 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,... | |
# 2. Os 5 primeiros números pares são 0, 2, 8 e 34, 144. | |
# 3. O somatório disso é 188. | |
# 4. Somando os algarismos, 1+8+8 = 17 | |
# | |
# Rode o programa para o caso X = 100000 usando o comando `echo 100000 | time ./programa`. | |
# Confira se a resposta é 282042 e poste aqui o código fonte e o tempo de execução. Ganha a | |
# linguagem que tiver o código mais elegante e rápido. | |
# End of script |
TODO [novamente]:
Tentar otimizar com Feeds, Junctions, Meta-Operators, etc...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
TODO:
Otimizar o código com Gather/Take, Recursive Patterns, etc...