Bonjour,
voila mon problème : j'ai monté un petit programme qui me dit si un nombre est premier ou pas. il fonctionne très bien pour des nombres jusqu'à 10 chiffres mais meme les nombre à 10 chiffres ne sont pas tous pris a partir d'environ 3000000000. je sais qu'il s'agit d'un problème de déclaration de variable, mais meme en les métant en long unsigned, ça ne change pas le problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #include <stdio.h> int p,x,n; float r; int main() { printf("-----------------------------\nVOTRE NOMBRE EST-IL PREMIER ?\n-----------------------------\n"); printf("NOMBRE A IDENTIFIER : "); scanf("%d", &n); r=sqrt(n); p=1; for(x=2;x<=r;x++) { if(n%x == 0) { printf("\nNON, %d N'EST PAS PREMIER", n); p=0; break; } } if (p == 1) { printf("\nOUI, %e EST PREMIER", n); } fflush(stdin); getchar(); return 0; }
Partager