思路:求在[2,
]之间寻找最大素数因子
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 600851475143
int main(){
long long num=N,ans,i=2;
while(i*i<num){
if(num%i==0)ans=i;
while(num%i==0)num/=i;
i++;
}
if(num!=1)ans=num;
printf("%lld",ans);
return 0;
}