日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

回文质数(洛谷-P1217)

發布時間:2025/3/17 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 回文质数(洛谷-P1217) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目描述

因為151既是一個質數又是一個回文數(從左到右和從右到左是看一樣的),所以 151 是回文質數。

寫一個程序來找出范圍[a,b](5 <= a < b <= 100,000,000)( 一億)間的所有回文質數;

輸入輸出格式

輸入格式:

?1 行: 二個整數 a 和 b .

輸出格式:

輸出一個回文質數的列表,一行一個。

輸入輸出樣例

輸入樣例#1:?

5 500

輸出樣例#1:?

5
7
11
101
131
151
181
191
313
353
373
383

思路:要求 1 億以內的回文質數,7 位就足以將回文數構造出來,然后再判斷素數即可

源代碼?

#include<iostream> #include<cmath> using namespace std;int judge_prime(int n)//判斷是否是素數 {int i;if(n%2==0) return 0;for(i=3;i<sqrt(n)+1;i+=2)if(n%i==0)return 0; return 1; }int lengh(int n)//判斷區間長度 {int len=1;while(n>9){n/=10;len++;}return len; } int main() {int a,b;int len_a,len_b;int m,n,p,q;int number;int judge_prime(int n);int lengh(int n);cin>>a>>b;len_a=lengh(a);len_b=lengh(b);if(len_a<=1&&len_b>=1)//位數為1位時{if(a<=5&&b>=5)cout<<5<<endl;if(a<=7&&b>=7)cout<<7<<endl;}if(len_a<=2&&len_b>=2)//位數為2位時{if(a<=11&&b>=11)cout<<11<<endl;}if(len_a<=3&&len_b>=3)//位數為3位時{for(m=1;m<=9;m+=2){for(n=0;n<=9;n++){number=m*100+n*10+m;if(number<a) continue;if(number>b) break; if(judge_prime(number)) cout<<number<<endl;}}}if(len_a<=5&&len_b>=5)//位數為5位時{for(m=1;m<=9;m+=2){for(n=0;n<=9;n++){for(p=0;p<=9;p++){number=m*10000+n*1000+p*100+n*10+m;if(number<a)continue;if(number>b)break; if(judge_prime(number))cout<<number<<endl;}}}}if(len_a<=7&&len_b>=7)//位數為7位時{for(m=1;m<=9;m+=2){for(n=0;n<=9;n++){for(p=0;p<=9;p++){for(q=0;q<=9;q++){number=m*1000000+n*100000+p*10000+q*1000+p*100+n*10+m;if(number<a)continue;if(number>b)break;if(judge_prime(number))cout<<number<<endl;}}}}}return 0; }

?

總結

以上是生活随笔為你收集整理的回文质数(洛谷-P1217)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。