题目译文:
13195的质数因子有5,7,13和29.
600851475143的最大质数因子是多少?
#include<stdio.h>
#include<math.h>
int main()
{
int i;
_int64 v; //_int64的范围:-2^63——(2^63)-1,一共19位数,而int的范围是-2^32——(2^32)-1,一共是10位数,而600851475143显然超过10位数,故用_int64类型
int s;
int j;
scanf("%I64d",&v);//输出输入的方式:%I64d,64前面是大写的 i
s=(int)sqrt(v);
if(s%2==0)
s--;
for(i=s;i>=2;i=i-2)
{
if(v%i==0)
{
for(j=i-1;j>=2;j--)
{
if(i%j==0)
break;
}
if(j>=2)
continue;
else
printf("%I64d\n",i);
}
}
return 0;
}