问题描述:
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
C++:
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n,ans=2;
cin>>n;
long long q=(long long)sqrt(n*1.0);
long long i=2;
/*
* 若正整数a>1,且a不能被不超过a的平方根的任一素数整除,
* 则a是素数
*/
while(i <= q && n > 1)
{
while(n % i == 0)
{
n /= i;
ans=max(ans,i);
//cout<<ans<<endl;
}
i++;
}
cout<<ans<<endl;
return 0;
}