#include "stdafx.h"
#include <iostream>
using namespace std;
//判断是不是质数
//不是返回该数字
//是质数返回0
long y_n_zhishu(long n);
long long MAX = 600851475143;
int _tmain(int argc, _TCHAR* argv[])
{
//找出一个合数的最大质数因子
//13195的质数因子有5, 7, 13和29.
//
// 600851475143的最大质数因子是多少?
int max_zs = 1; //最大质数因子
for (int i = 2; i < int(sqrt(MAX)); i++)
{
if (MAX % i == 0) //判断是不是因子
{
if (y_n_zhishu(i) == 0) //判断是不是质数因子
{
cout << i << endl;
if (max_zs < i) //找出最大质数因子
max_zs = i;
}
}
}
cout << "最大质数因子"<<max_zs << endl;
cin.get();
cin.get();
return 0;
}
long y_n_zhishu(long n)
{
for (int i = 2; i < sqrt(n); i++) //最好是不将sqrt(n)转换为int型,转换之后要加1
{
if (n % i == 0)
return n;
}
return 0;
}
#include <iostream>
using namespace std;
//判断是不是质数
//不是返回该数字
//是质数返回0
long y_n_zhishu(long n);
long long MAX = 600851475143;
int _tmain(int argc, _TCHAR* argv[])
{
//找出一个合数的最大质数因子
//13195的质数因子有5, 7, 13和29.
//
// 600851475143的最大质数因子是多少?
int max_zs = 1; //最大质数因子
for (int i = 2; i < int(sqrt(MAX)); i++)
{
if (MAX % i == 0) //判断是不是因子
{
if (y_n_zhishu(i) == 0) //判断是不是质数因子
{
cout << i << endl;
if (max_zs < i) //找出最大质数因子
max_zs = i;
}
}
}
cout << "最大质数因子"<<max_zs << endl;
cin.get();
cin.get();
return 0;
}
long y_n_zhishu(long n)
{
for (int i = 2; i < sqrt(n); i++) //最好是不将sqrt(n)转换为int型,转换之后要加1
{
if (n % i == 0)
return n;
}
return 0;
}