Die Aufgabe
Schreiben Sie ein Programm oder eine Funktion, die bei Übergabe einer numerischen Eingabe x
die Primzahlen unter der Quadratwurzel von x
1 ausgibt oder zurückgibt , die keine Faktoren von sind x
.
Beispiele
Sei f(x)
die aufgerufene Funktion:
>>> 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]
Bonusregeln
- Sie können alle von Ihrer Sprache bereitgestellten integrierten Funktionen verwenden.
- Ihr Programm muss eine
x
Eingabe unterstützen, die so hoch ist wie die von Ihrer Sprache festgelegte Obergrenze.
1 Die Verwendung der Quadratwurzel als nur Primzahlen unterhalb der Quadratwurzel kann tatsächlich in die Faktoren von einbezogen werden x
. Ohne diese Einschränkung hätten größere Zahlen eine Menge überschüssiger gedruckter Zahlen.
x
" einbezogen werden, ist nicht wahr: Eine Zahl kann einen Primfaktor haben, der größer als ihre Quadratwurzel ist. In der Tat haben Ihre ersten beiden Beispiele (5 und 20) diese Eigenschaft, ebenso wie alle Primzahlen, zweimal alle ungeraden Primzahlen, ....