首先,一个数N,如果它有其他约数,假设为A,B(约数肯定要成对出现的)必然有一个大于根号N,另一个小于根号N(显然如果都大于根号N,那相乘结果会大于N,反之会小于N),所以在找的时候,只需找到根号N即可,大于根号N的那些肯定跟小于N的成对匹配,如果小于根号N的约数都没有,显然也没有大于根号N的数与它匹配了。
注1:
附判断是否为质数的子函数
bool pdzs (int a)
{
int b=2;
while (b*b<=a)
{
if (a%b==0)
{
return false;
}
b++;
}
return true;
}
----------------------------------------------------------------------------------------------------
注2:
附求一个数的反序数的函数
int qf(int n)
{
int s=0;
int a=n;
while (a)
{
s=s*10+a%10;
a/=10;
}
return s;
}
回文质数
最新推荐文章于 2023-04-22 11:17:09 发布