
* Changement de l'outil de plateforme de `v143` à `v142` dans `CPP.vcxproj`. * Ajout de `<locale>` et de `setlocale(LC_CTYPE, "fr");` dans `Source8.cpp`. * Suppression du tableau `nombres_premiers[100]`. * Modification de la boucle `for` pour commencer à 3 et incrémenter de 2. * Ajout de l'affichage des nombres premiers trouvés. * Correction de la vérification des diviseurs et des conditions de sortie de boucle. * Modification de la condition d'impression des nombres premiers.
38 lines
840 B
C++
38 lines
840 B
C++
/*
|
|
* Programme de calcul des nombres premiers
|
|
* Par Florian Goussot
|
|
* BTS CIEL 2e année
|
|
* Fait le 05/11/2024 à Nancy
|
|
*/
|
|
#include <stdio.h>
|
|
#include <conio.h>
|
|
#include <stdlib.h>
|
|
#include <locale>
|
|
|
|
int main(void) {
|
|
do {
|
|
setlocale(LC_CTYPE, "fr");
|
|
system("cls");
|
|
printf_s("\t\t\tProgramme de calcul des nombres premiers\n");
|
|
printf_s("Donnez le nombre limite (>3) : ");
|
|
int limite = 3;
|
|
scanf_s("%d", &limite);
|
|
printf_s("Nombre premiers trouvés : \n\t1\t2\t");
|
|
for (int i = 3; i <= limite; i += 2) {
|
|
int nb_diviseurs = 0;
|
|
for (int j = 3; j <= i / 2; j += 2) {
|
|
if ((i % j) == 0) {
|
|
nb_diviseurs++;
|
|
}
|
|
if (nb_diviseurs > 2) {
|
|
break;
|
|
}
|
|
}
|
|
if (nb_diviseurs <= 2) {
|
|
printf_s("%i\t", i);
|
|
}
|
|
}
|
|
printf_s("\n\nAppuyez sur Echap pour quitter...");
|
|
} while (_getch() != 27);
|
|
return 0;
|
|
} |