日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

c语言mn回文素数编程,C语言求回文素数

發(fā)布時(shí)間:2024/5/8 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言mn回文素数编程,C语言求回文素数 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

問題描述

所謂回文素?cái)?shù)指的是,對(duì)一個(gè)整數(shù)n從左向右和從右向左讀其數(shù)值都相同且n為素?cái)?shù),則稱整數(shù)為回文素?cái)?shù)。

對(duì)于偶數(shù)位的整數(shù),除了11以外,都不存在回文素?cái)?shù)。即所有的4位整數(shù)、6位整數(shù)、 8位整數(shù)…都不存在回文素?cái)?shù)。下面列出兩位和三位整數(shù)中包含的所有回文素?cái)?shù)。

兩位回文素?cái)?shù):11

三位回文素?cái)?shù):101、131、151、181、191、313、353、373、383、727、757、787、 797、 919、 929

本題要求解的問題是:求出所有不超過1000的回文素?cái)?shù)。

問題分析

本題要使用判斷素?cái)?shù)的方法,并且要解決如何求一個(gè)整數(shù)的回文數(shù)。

采用的方法是窮舉法。對(duì)1000以內(nèi)的每一個(gè)整數(shù)n進(jìn)行考察,判斷n是否為回文數(shù)。如果n是回文數(shù),再判斷它是否為素?cái)?shù),對(duì)于既是回文數(shù)也是素?cái)?shù)的整數(shù)n,就是要求的回文素?cái)?shù),將其打印輸出即可。

由于題目要求解的是所有不超過1000的回文素?cái)?shù),因此最后的結(jié)果中應(yīng)該包含兩位和三位的回文數(shù)。

采用窮舉法來構(gòu)造一個(gè)整數(shù)并求與其對(duì)應(yīng)的反序數(shù),若整數(shù)與其反序數(shù)相等,則該整數(shù)是回文數(shù)。

算法設(shè)計(jì)

在問題分析中己經(jīng)確定要采用窮舉法逐一考察1000以內(nèi)的每個(gè)整數(shù),因此本題的算法設(shè)計(jì)可以釆用循環(huán)結(jié)構(gòu)來完成。

通過三重循環(huán)來遍歷所有1000以內(nèi)的整數(shù)。用三個(gè)循環(huán)變量來構(gòu)造整數(shù)n,同時(shí),這三個(gè)循環(huán)變量反序便可以構(gòu)造出n的反序數(shù)m。其中,特別要注意的是如果n的個(gè)位為0,接下來要做的就是比較m和n的值是否相等,如果相等,則表明整數(shù)n是回文數(shù)。再來判斷n是否是素?cái)?shù),如果n同時(shí)也為素?cái)?shù),則n為回文素?cái)?shù),將其打印出來即可。

下面是完整的代碼:

#include

int fun(int n);

int main()

{

int i, j, k, n, m;

printf("不超過1000的回文數(shù):\n");

for(i=0; i<=9; ++i) /*窮舉第一位*/

for(j=0; j<=9; ++j) /*窮舉第二位*/

for(k=0; k<=9; ++k) /*窮舉第三位*/

{

n=i*100+j*10+k; /*計(jì)算組成的整數(shù)*/

m=k*100+j*10+i; /*計(jì)算對(duì)應(yīng)的反序數(shù)*/

if(i==0 && j==0) /*處理整數(shù)的前兩位為0的情況*/

{

m=m/100;

}

else if(i==0) /*處理整數(shù)的第一位為0的情況*/

{

m=m/10;

}

if(n>10 && n==m && fun(n)) /*若大于10且為回文素?cái)?shù),則輸出*/

{

printf("%d\t", n);

}

}

printf("\n");

return 0;

}

/*判斷參數(shù)n是否為素?cái)?shù)*/

int fun(int n)

{

int i;

for(i=2; i

{

if(n%i == 0)

return 0;

}

return 1;

}

運(yùn)行結(jié)果:

不超過1000的回文數(shù):

11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929

總結(jié)

以上是生活随笔為你收集整理的c语言mn回文素数编程,C语言求回文素数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。