Largest prime factor 寻找一个大数的最大质因子
代码如下
#include <iostream>
#include<cmath>
using namespace std;
bool is_prime(long long int k)
{
if (k < 0) return false;
if (k == 1) return true;
for (int i = 2; i < sqrt(k) ; i++)
{
if (k % i == 0) return false;
}
return true;
}
int main()
{
long long int max = 1;
long long int m = 600851475143;
long long int i = 2;
while(1)
{
if (m == 1) break;
if (m % i == 0)
{
if (is_prime(i))
{
if (max < i) max = i;
m /= i;
i = 2;
}
}
else {
i++;
if (i > m) break;
}
}
cout<<max;
}