我一直在研究一个项目 euler 问题,其本质上会强迫您使用具有大存储空间的数据类型。
#include <stdio.h>
#include <conio.h>
#define num 600851475143
int main()
{
long long i, j, count=0, number=num, k;
for(i=2;number!=1;i++)
{
count=0;
for(j=1;j<=i;j++)
{
if((i%j)==0)
{
count++;
}
}
for(k=0;k<100000000;k++)
{}
if(count==2)
{
printf(" %d\n", i);
if(number%i==0)
{
number/=i;
printf(" %d\n", number);
printf("%d\n", i);
i=2;
}
}
}
getch();
return 0;
}
当我编译并运行程序时,没有打印任何数字。我尝试了各种 printf 转换 %ll、%l,我更改了数据类型。我正在使用 GNU GCC 编译器。我应该怎么办?