Die Aufgabe
Schreiben Sie ein Programm oder eine Funktion, die bei Übergabe einer numerischen Eingabe xdie Primzahlen unter der Quadratwurzel von x1 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
xEingabe 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, ....