/************************************************************************/
/* 题目:将数字65535分解成若干个素数之积
/************************************************************************/
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(long m);
int main()
{
long i;
long digit = 65535;
long s = 1;
cout << "65535 = ";
for (i = 2; i <= digit / 2; i++)
{
if (isPrime(i) && digit % i == 0)
{
s *= i;
if (digit / s != 1)
cout << i << " * ";
else
cout << i << endl;
}
}
system("pause");
return 0;
}
//功能:判断素数
bool isPrime(long m)
{
int i = 0;
for (i = 2; i <= sqrt(m); i++)
{
if (m % i == 0)
return false;
}
return true;
}
一个大数拆成两个素数相乘
最新推荐文章于 2022-04-13 15:14:44 发布