我一直在解决一个Project 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编译器。我该怎么办?