Un nombre premier est un entier naturel qui n'est divisible (sans reste) que par 1 et par lui-même. Voyons rapidement un exemple avec 5.
5 / 1 = 5 (entier)
5 / 2 = 2,5 (reste)
5 / 3 = 1,6666... (reste)
(...)
[...] Cette ligne : return do_iter(atoi(argv[1]), atoi(argv[2])); va donc donner en paramètre deux entiers à la fonction codée ligne 19. Cette fonction va itérer sur l'intervalle de nombre qui nous est fourni en argument, ligne 23. Et pour chacun de ces nombres nous appelons la fonction "is_prime()" qui renvoie "true" si le nombre passé en paramètre est premier (et "false" dans le cas échéant). Si c'est le cas, on l'affiche avec un printf() ligne 25. Revenons a la fonction "is_prime()", déclarée ligne 5. [...]
[...] Si c'est le cas, on renvoie false, notre nombre n'est pas premier. Ensuite, s'il est supérieur à il va falloir itérer sur toutes les valeurs comprises entre 2 (inutile de le diviser par et lui-même moins un. C'est ce que fait la boucle ligne 12. Ligne 13 on verifie le modulo, si il est nul, le nombre n'est pas premier. On retourne donc "false" (ligne 14). Si la boucle se complète sans que nous en soyons sorti, c'est que le nombre est premier, on renvoie "true", ligne 16. [...]
[...] III - Le code Le code est contenu dans le fichier "prime.c" qui était dans la même archive que ce document. Pour afficher les lignes utilisez "cat ou un bon éditeur. Commençons par la fonction codée ligne 37. Notre programme a besoin de deux arguments, indispensables. La variable "argc", qui correspond au nombre d'arguments doit forcement être à 3 (nom du binaire + premier argument + second argument). C'est ce que nous testons ligne 39, en cas d'échec, nous affichons le synopsis du programme ligne 40, en appelant la fonction "usage()". [...]
[...] Cette technique permet un énorme gain de performance qui sera particulièrement visible en cas de calculs de grands nombres = = = = = 0 Quand le modulo est nul, c'est que la division est entière (sans reste). Notez que 0 n'est pas un nombre premier. II - Le programme Commençons par compiler le programme : $ gcc -Wall premiers.c prime Puis lançons le : $ ./prime usage : ./prime $ Le programme prend deux arguments en paramètres. Ces deux arguments correspondent à l'intervalle qu'il faut tester. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture