Du coup, j'ai écrit un programme pour trouver un nombre premier sur une ligne. Concentrez-vous sur la quantité de code plutôt que sur l'efficacité.
Ruby
Si vous pensez que c'est "filter", c'est "select" dans le cas de Range. (Rubis 2.5)
(2..99).select {|x| (2...x).select {|i| x % i == 0} == []}
Python
Vous pouvez utiliser filter
, mais la notation d'inclusion de liste est plus facile à écrire.
[x for x in range(2, 100) if [i for i in range(2, x) if x % i == 0] == []]
Haskell
Haskell est coincé avec des débutants qui étudient pendant des années.
[x | x <- [2..100], [i | i <- [2..(x - 1)], mod x i == 0] == []]
Quand j'ai pensé que Ruby, qui ne peut pas être inclus dans une liste, était un inconvénient, c'était étonnamment le plus court que j'ai écrit.
Recommended Posts