Herausforderung 2
Die Herausforderung dieses Monats liegt wieder bei den Grundlagen - dem Finden von Primzahlen. Ich interessiere mich für zwei Funktionen:
- getPrimes ( n , t ) - wo n ist eine positive ganze Zahl und t kann einer von zwei Werten sein. Wenn es 1 ist getPrimes gibt den ersten zurück n Primzahlen. Wenn es 2 ist getPrimes gibt alle Primzahlen zurück, die kleiner oder gleich sind n . Sie können den Wert von annehmen n wird 1e8 nicht überschreiten.
- isPrime ( vec ) - wo vec ist ein nRow Zeile, 1 Spaltenmatrix mit ganzzahligen Werten nicht größer als 4e14. Es ist eine Matrix von Einsen und Nullen zurückzugeben, wobei vec [ ich ]] = 1 gibt die an ich th Element von vec ist prime und 0 ist nicht prime. Der Eingabetestvektor enthält zwischen 100 und 1000 Elemente (die Funktion sollte jedoch größere oder kleinere Vektoren akzeptieren können).
Beispiele:
getPrimes (10,1) würde zurückkehren [2,3,5,7,11,13,17,19,23,29]
getPrimes (10,2) würde zurückkehren [2,3,5,7]
isPrime ([- 1,0,2,4,5]) würde zurückkehren [0,0,1,0,1]
Wertung: 4 Punkte für jede Funktion. 3, 2 und 1 Punkt für die schnellste Lösung (für jede Funktion separat vergeben). 3 Punkte, wenn Ihre Lösung genauso schnell oder schneller ist als die schnellste, die von einem Mitarbeiter eingereicht wurde. Einsendeschluss ist Freitag, der 15. Mai, 23:59 Uhr Eastern.