Sfida 2
La sfida di questo mese è tornata alle origini: trovare numeri primi. Sono interessato a due funzioni:
- getPrimes ( n , t ) - dove n è un numero intero positivo e t può essere uno di due valori. Se è 1 getPrimes restituisce il primo n numeri primi. Se è 2 getPrimes restituirà tutti i numeri primi inferiori o uguali a n . Puoi assumere il valore di n non supererà 1e8.
- isPrime ( vec ) - dove vec è un nRow riga, 1 colonna di matrice di valori interi non superiori a 4e14. Deve restituire una matrice di 1 e 0 dove vec [ io ] = 1 indica il io th element of vec è primo e 0 non è primo. Il vettore del test di input conterrà tra 100 e 1000 elementi (ma la funzione dovrebbe essere in grado di accettare vettori più grandi o più piccoli).
Esempi:
getPrimes (10,1) sarebbe tornato [2,3,5,7,11,13,17,19,23,29]
getPrimes (10,2) sarebbe tornato [2,3,5,7]
isPrime ([- 1,0,2,4,5]) sarebbe tornato [0,0,1,0,1]
Punteggio: 4 punti per ogni funzione. 3, 2 e 1 punto per la soluzione più veloce (assegnato separatamente per ciascuna funzione). 3 punti se la tua soluzione è più veloce o più veloce di quella più veloce inviata da un membro dello staff. La scadenza per la presentazione è venerdì 15 maggio alle 23:59 Est.