C言語なら俺に聞け(入門篇) Part 42
■ このスレッドは過去ログ倉庫に格納されています
0618572
2009/01/15(木) 00:59:38出力される値がおそらく素数ではありません。
4294967291と出力されて正解だと思うのですが、4294967295が出力されます。
どこに問題があるか、教えて欲しいです。よろしくお願いします。
#include <stdio.h>
#include <math.h>
#include <limits.h>
int main(void)
{
long int i, n, m, Limit;
int b = 0;
while(1){
Limit=(long int)sqrt(UINT_MAX-b);
m=UINT_MAX-b;
for(i=Limit;i>1;i--){
if(m%i == 0)
break;
}
if(i==1){
printf("%u\n",UINT_MAX-b);
break;}
else
b+=1;
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています