Défi 2
Le défi de ce mois est de retour aux sources - trouver des nombres premiers. Je m'intéresse à deux fonctions:
- getPrimes ( n , t ) - où n est un entier positif et t peut être l'une des deux valeurs. Si c'est 1 getPrimes renvoie le premier n nombres premiers. Si c'est 2 getPrimes renverra tous les nombres premiers inférieurs ou égaux à n . Vous pouvez assumer la valeur de n ne dépassera pas 1e8.
- isPrime ( vec ) - où vec est un nRow ligne, 1 matrice de colonne de valeurs entières ne dépassant pas 4e14. C'est retourner une matrice de 1 et de 0 où vec [ je ] = 1 indique le je e élément de vec est premier et 0 ce n'est pas premier. Le vecteur de test d'entrée contiendra entre 100 et 1 000 éléments (mais la fonction devrait pouvoir accepter des vecteurs plus ou moins grands).
Exemples:
getPrimes (10,1) retournerais [2,3,5,7,11,13,17,19,23,29]
getPrimes (10,2) retournerais [2,3,5,7]
isPrime ([- 1,0,2,4,5]) retournerais [0,0,1,0,1]
Pointage: 4 points pour chaque fonction. 3, 2 et 1 point pour la solution la plus rapide (attribué séparément pour chaque fonction). 3 points si votre solution est aussi rapide ou plus rapide que la plus rapide soumise par un membre du personnel. La date limite de soumission est le vendredi 15 mai à 23 h 59, heure de l'Est.