Améliorations de la recherche de nombres premiers

* 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.
This commit is contained in:
Le Stagiaire
2024-11-20 09:18:09 +01:00
parent 838f7415fb
commit 65bbf7b4cd
2 changed files with 12 additions and 7 deletions

View File

@ -7,24 +7,29 @@
#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 nombres_premiers[100];
int limite = 3;
scanf_s("%d", &limite);
for (int i = 0; i <= limite; i++) {
printf_s("Nombre premiers trouv<75>s : \n\t1\t2\t");
for (int i = 3; i <= limite; i += 2) {
int nb_diviseurs = 0;
for (int j = 2; j <= i; j++) {
if (i % j == 1) {
for (int j = 3; j <= i / 2; j += 2) {
if ((i % j) == 0) {
nb_diviseurs++;
}
if (nb_diviseurs > 2) {
break;
}
}
if (nb_diviseurs == 1) {
if (nb_diviseurs <= 2) {
printf_s("%i\t", i);
}
}
printf_s("\n\nAppuyez sur Echap pour quitter...");