可逆素数编程c语言,巧用C语言求四位的可逆素数
求四位的可逆素?cái)?shù)。可逆素?cái)?shù)指:一個(gè)素?cái)?shù)將其各位數(shù)字的順序倒過(guò)來(lái)構(gòu)成的反序數(shù)也是素?cái)?shù)。
*問(wèn)題分析與算法設(shè)計(jì)
本題的重點(diǎn)不是判斷素?cái)?shù)的方法,而是求一個(gè)整數(shù)的反序數(shù)。求反序數(shù)的方法是從整數(shù)的末尾依次截取最后一位數(shù)字,每截取一次后整數(shù)縮小10倍,將截取的數(shù)字作為新的整數(shù)的最后一位(新的整數(shù)擴(kuò)大10倍后加上被截取的數(shù)字)。這樣原來(lái)的整數(shù)的數(shù)字從低到高被不斷地截取,依次作為新的整數(shù)從高到低的各位數(shù)字。
*程序說(shuō)明與注釋
#include
#include
int?num(int?number);
int?ok(int?number);
int?main()
{
int?i,count;
printf("There?are?invertable?primes?with?4?digits:?\n");
for(count=0,i=1001;i<9999;i+=2)?//窮舉全部的奇數(shù)
{
if(num(i))?//若是可逆素?cái)?shù),則輸出
printf(count%9???"%3d:%d"?:?"%3d:%d\n",++count,i);
}
return?0;
}
int?num(int?number)
{
int?i,j;
if(!ok(number))return?0;?//判斷是否為素?cái)?shù)
for(i=number,j=0;i>0;i/=10)?//按位將整數(shù)倒過(guò)來(lái),產(chǎn)生反序數(shù)
{
j=j*10?+?i%10;
}
if(number
{
if(!ok(i))?//判斷對(duì)應(yīng)的反序數(shù)是否為可逆素?cái)?shù)
{
return?0;
}
else
{
return?1;?//若是可逆數(shù)素?cái)?shù),則返回1
}
}
else
{
return?0;
}
getchar();
return?0;
}
int?ok(int?number)
{
int?i,j;
if(number%2?==0)?//判斷是否為素?cái)?shù)
return?0;
j=?sqrt((double)number)?+1?;?//取整數(shù)的平方根為判斷的上限
for(i=3;i
{
if(number?%i?==0)?//若為素?cái)?shù)則返回1,否則返回0
return?0;
}
return?1;
}
*思考題
求1000以內(nèi)的孿生素?cái)?shù)。孿生素?cái)?shù)是指:若a為素?cái)?shù),且a+2也是素?cái)?shù),則素?cái)?shù)a和a+2稱為孿生素?cái)?shù)。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至hey@evget.com
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載
總結(jié)
以上是生活随笔為你收集整理的可逆素数编程c语言,巧用C语言求四位的可逆素数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: c语言标准图形库,C语言图形库函数.do
- 下一篇: 用c语言编译二叉树,C语言实现二叉树的基