|
> 最大値を超えてしまうような数を90億と設定して試してました。
double を使うと、9007兆1992億5474万0992までの整数を扱えます。
#include <stdio.h>
#include <math.h>
int main(void)
{
double i, j, k;
for (i = 9000000000.0; ; i--) {
k = sqrt(i);
for (j = 2; j <= k; j++)
if (fmod(i, j) == 0) break;
if (j > k) break;
}
printf("%.f\n", i);
return 0;
}
|