Comments 6
Статья интересная, надеюсь будет ещё.
Как-то избыточно код выглядит.
Предлагаю для развлечения решить максимально компактно на других языках программирования:
на Perl:
print eval join '+',grep { !($_ % 3 && $_ % 5) } 1..999;
Как-то избыточно код выглядит.
Предлагаю для развлечения решить максимально компактно на других языках программирования:
на Perl:
print eval join '+',grep { !($_ % 3 && $_ % 5) } 1..999;
+1
спасибо, в следующий раз рассмотрю задачу посерьезнее, может к тому времени и новая доза появится.
ну да, по сути функции те же, только называются в перле короче. =)
Что мне в верхнем коде нравится, что он читается в ту же сторону, в которую и выполняется, благодаря |>, хотя можно было бы написать и что-то в этом роде:
printfn ("%d") List.fold_left (+) 0 List.filter (fun x -> x%3=0 or x%5=0) [1..999]
ну да, по сути функции те же, только называются в перле короче. =)
Что мне в верхнем коде нравится, что он читается в ту же сторону, в которую и выполняется, благодаря |>, хотя можно было бы написать и что-то в этом роде:
printfn ("%d") List.fold_left (+) 0 List.filter (fun x -> x%3=0 or x%5=0) [1..999]
0
на Руби:
(0..999).select { |x| (x % 3 == ) or (x % 5 == ) }.reduce(:+)
0
Сумма х таких, что х принадлежит [1; 999] и делится на 3 или 5 без остатка.
Как сделать 0 видимым? Внутри тега font он исчезает
sum [x | x <- [1..999], (x `mod` 3 == ) || (x `mod` 5 == )]
Как сделать 0 видимым? Внутри тега font он исчезает
0
System.Console.WriteLine( $[1..999].FoldLeft(0, (x, acc) => if( (x%3)*(x%5) == 0) acc+x else acc) );
Это Nemerle.
Это Nemerle.
0
Sign up to leave a comment.
Решаем Project Euler на F#: Задача 1