トップページ > プログラム > 2014年04月25日 > fQTWxI7Q

書き込み順位&時間帯一覧

24 位/215 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000300000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け

書き込みレス一覧

C言語なら俺に聞け
223 :デフォルトの名無しさん[sage]:2014/04/25(金) 16:47:47.01 ID:fQTWxI7Q
#include <stdio.h>
#include <stdlib.h> //pickup()
#include <dirent.h> //countfile()
int main(){
int n;
for(n = 227; n < 359 ; n++ ) // nの上限が n<228以上でバグ n = 227の時に動作不良
{ printf("judging %d\n",n);
judge(n);
usleep(50000);
} return 0; }
int judge(int n) // 整数nが素数かどうか判断
{ int i = 1;
int p;
p = pickup(i);
while( ( n % p ) != 0 ) {
if(p >= n/2)
{ break; }
else{
i ++;
p = pickup(i);}
}
if( ( n % p ) != 0 ) {
write(n);
printf("%d is prime number.\n", n);
return 1; }
else { return 0; }
}//judge is end
int pickup(int k) //k番目の素数を引き渡す
{ int pu;
char primefile[100];
sprintf(primefile, "./prime/prime%d.txt", k);
C言語なら俺に聞け
224 :デフォルトの名無しさん[sage]:2014/04/25(金) 16:49:01.80 ID:fQTWxI7Q
FILE *fp;
fp = fopen(primefile, "r");
if( fp == NULL ) {
printf("file open is fale.");
} else {
fgets(primefile, 99, fp);
pu = atof(primefile);
}return pu;
} //pickup end
write(int n)//整数nを次のpirmeに書き込む
{ FILE *fp;
char filename[256];
int c = count(0);
c = c + 1;
sprintf(filename, "./prime/prime%d.txt", c);
fp = fopen(filename, "w");
fprintf(fp, "%d", n);
fclose(fp);
}//write is end
int count(void)// ./prime内にあるファイルの数を数える{
DIR *dir;
struct dirent *dp;
char path[10] = "./prime/";//対象フォルダを指定
dir=opendir(path);
int i = 0;
for(dp=readdir(dir);dp!=NULL;dp=readdir(dir))
{// printf("%s\n",dp->d_name);
i = i + 1; }
closedir(dir);
i = i - 2;
return i; }//count is end
C言語なら俺に聞け
225 :デフォルトの名無しさん[sage]:2014/04/25(金) 16:51:58.43 ID:fQTWxI7Q
見難くてすいません。
やはりjudge()に問題があるのでしょうか?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。