标签:func 函数返回 等于 front 初始化 raphael web one amp
素数探求
试商法
//用2~sqrt(x)之间的整数去试商
int IsPrime(int x)
{
int i,squareroot;
if(x==1) return 0;
squareroot=(int)sqrt(x);
int i;
for(i=2;i<=squareroot;i++)
{
if(x%i==0) return 0;
}
return 1;
}
判断完数
试商法
int IsPnumber(int x)
{
int i,sum=0;
for(i=1;i<=(x/2);i++)
{
if(x&i==0) sum+=i;
}
return x==sum?1:0;
}
//优化速度
int IsPnumber(int x)
{
int i,sum=0;
int k=(int)sqrt(x);
for(i=1;i<=k;i++)
{
if(x&i==0)
{
sum=sum+i+x/i;
}
}
return x==sum?1:0;
}
验证歌德巴赫猜想
任何一个大于等于6的偶数总能表示为两个素数之和
试商法
函数不能嵌套定义,但可以嵌套调用
引用标志变量flag 标记解是否找到的状态 一般情况下flag为0或1 flag注意要进行初始化
回文素数
孪生素数 相差为2的两个素数
IsPrime(i) && IsPrime(i+2)
加速:若min为偶数,则min++,宁且i+=2;(测试所有奇数)
使用front记录前一个素数
梅森素数
注意:pow()函数返回值为double,且调用较慢
最好自己写一个乘方函数
标签:func 函数返回 等于 front 初始化 raphael web one amp
原文地址:https://www.cnblogs.com/La-pu-ta/p/12056439.html