Plötzlich schrieb ich ein Programm, um eine Primzahl in einer Zeile zu finden. Der Schwerpunkt liegt eher auf der Code-Menge als auf der Effizienz.
Ruby
Wenn Sie denken, es ist "Filter", ist es "Select" im Fall von Range. (Ruby 2.5)
(2..99).select {|x| (2...x).select {|i| x % i == 0} == []}
Python
Sie können "Filter" verwenden, aber die Notation zur Aufnahme von Listen ist einfacher zu schreiben.
[x for x in range(2, 100) if [i for i in range(2, x) if x % i == 0] == []]
Haskell
Haskell steckt jahrelang mit Anfängern zusammen.
[x | x <- [2..100], [i | i <- [2..(x - 1)], mod x i == 0] == []]
Als ich dachte, dass Ruby, das nicht in eine Liste aufgenommen werden kann, ein Nachteil ist, war es überraschenderweise das kürzeste, das ich geschrieben habe.
Recommended Posts