Advertisement
Guest User

Untitled

a guest
Feb 25th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. const unsigned int NOMBRE = 3000; //nombre de premiers à chercher
  2. unsigned int nombresPremiers[NOMBRE]; //contient les nombres premiers trouvés
  3. unsigned long nombresTrouves; // compte les nombres premiers trouvés
  4. unsigned long nombreTeste; // contient le nombre en cours de test
  5. #include <LiquidCrystal.h> // on importe la bibliothèque
  6. LiquidCrystal monEcran(12, 13, 8, 9, 10, 11); // on crée l'objet écran
  7. unsigned long nombresTrouves2;
  8. unsigned long plusGrand ;//plus grand nombre trouvé dans le setup
  9. unsigned long plusGrandCarre; //carré du plus grand nombre trouvé
  10. unsigned long racineNombreTeste;
  11. void setup() {
  12. nombresPremiers[0] = 2;
  13. nombreTeste = 3;
  14. nombresTrouves = 1;
  15. Serial.begin(115200);
  16. delay(5000);
  17.  
  18. while (nombresTrouves < NOMBRE) {
  19. racineNombreTeste = sqrt(nombreTeste);
  20. //Serial.print("nombre testé : ");
  21. //Serial.print(nombreTeste);
  22. for (int i = 0; i <= nombresTrouves; i++) {
  23. //if (i == nombresTrouves) {
  24. if (racineNombreTeste < nombresPremiers[i]) {
  25. nombresTrouves++;
  26. Serial.print(nombreTeste);
  27.  
  28. Serial.print(";");
  29. Serial.print(nombresTrouves);
  30. Serial.print(";");
  31. Serial.println(millis());
  32. nombresPremiers[nombresTrouves] = nombreTeste;
  33. nombreTeste += 2;
  34. break;
  35. }
  36. else {
  37. if (nombreTeste % nombresPremiers[i] == 0) {
  38. nombreTeste += 2;
  39. break;
  40. }
  41. }
  42. }
  43.  
  44. }
  45. nombresTrouves2 = nombresTrouves;
  46. plusGrand = nombresPremiers[nombresTrouves];
  47. plusGrandCarre = plusGrand * plusGrand;
  48. }
  49.  
  50. void loop() {
  51. while (nombreTeste < plusGrandCarre) {
  52. racineNombreTeste = sqrt(nombreTeste);
  53.  
  54. for (int i = 0; i <= nombresTrouves2; i++) {
  55. //if (i == nombresTrouves2) {
  56. if (racineNombreTeste < nombresPremiers[i]) {
  57. nombresTrouves++;
  58. Serial.print(nombreTeste);
  59.  
  60. Serial.print(";");
  61. Serial.print(nombresTrouves);
  62. Serial.print(";");
  63. Serial.println(millis());
  64. monEcran.setCursor(0, 0);
  65. monEcran.print(nombreTeste);
  66. nombreTeste += 2;
  67. break;
  68. }
  69. else {
  70. if (nombreTeste % nombresPremiers[i] == 0) {
  71. nombreTeste += 2;
  72. break;
  73. }
  74. }
  75. }
  76.  
  77. }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement