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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
int prime_number(int n){
int res=1;
FILE * f = fopen("prime.log", "r+");
if(!f)
{
fprintf(stderr, "fopen failed\n");
exit(EXIT_FAILURE);
}
char *tmp_number;
tmp_number=malloc(100);
while((fgets(tmp_number,100,f))!=NULL){
int prime;
char *tmp;
strncpy(tmp,tmp_number,strlen(tmp_number)-1);
prime=atoi(tmp);
if(n % prime == 0){
res=0;
break;
}
}
if(res==1)
{
sprintf(tmp_number,"%d",n);
strcat(tmp_number,"\n");
fwrite(tmp_number,1,strlen(tmp_number),f);
}
fclose(f);
return res;
}
int main()
{
int i=4;
int count=2;
while(count<100)
{
printf("test %d\n",i); // Pas de soucis avec ce printf, mais sans :evilred:
if(prime_number(i)==1)
count++;
i++;
}
return 0;
} |
Partager