L'obiettivo
Scrivi un programma o una funzione che, quando viene passato un input numerico x
, stampa o restituisce i numeri primi sotto la radice quadrata di x
1 che non sono fattori x
.
Esempi
Lascia che f(x)
sia la funzione chiamata:
>>> f(4)
[]
>>> f(5)
[2]
>>> f(20)
[3]
>>> f(60)
[7]
>>> f(100)
[3, 7]
>>> f(10000)
[3, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
Regole bonus
- È possibile utilizzare qualsiasi builtin fornito dalla propria lingua.
- Il tuo programma deve supportare un
x
input alto come il limite superiore definito dalla tua lingua.
1 L' uso della radice quadrata come solo numeri primi sotto la radice quadrata può effettivamente essere coinvolto nei fattori di x
. Senza questa limitazione, numeri più grandi avrebbero molti numeri stampati in eccesso.
x
" non è vero: un numero può avere un fattore primo più grande della sua radice quadrata. In effetti, i tuoi primi due esempi (5 e 20) hanno questa proprietà, così come tutti i numeri primi, il doppio di tutti i numeri primi dispari, ....