信息学奥赛一本通(1411:区间内的真素数)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1411:区间内的真素数)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1411:區(qū)間內(nèi)的真素?cái)?shù)
時(shí)間限制: 1000 ms ??? ??? 內(nèi)存限制: 65536 KB
提交數(shù): 17046 ??? 通過數(shù): 6833
【題目描述】
找出正整數(shù)M和N之間(N不小于M)的所有真素?cái)?shù)。
真素?cái)?shù)的定義:如果一個(gè)正整數(shù)P為素?cái)?shù),且其反序也為素?cái)?shù),那么P就為真素?cái)?shù)。
例如,11,13均為真素?cái)?shù),因?yàn)?1的反序還是為11,13的反序?yàn)?1也為素?cái)?shù)。
【輸入】
輸入兩個(gè)數(shù)M和N,空格間隔,1<=M<=N<=100000。
【輸出】
按從小到大輸出M和N之間(包括M和N)的真素?cái)?shù),逗號(hào)間隔。如果之間沒有真素?cái)?shù),則輸出No。
【輸入樣例】
10 35【輸出樣例】
11,13,17,31【參考代碼】
#include <stdio.h> #include <math.h> int reverse_num(int n) {int v=n,sum=0;while(v>0){sum=sum*10+v%10;v/=10;}return sum; } int is_prime(int n) {int i,k;k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)return 0;return 1; } int main() {int i,m,n;int is_first=1,found=0;scanf("%d%d",&m,&n);for(i=m;i<=n;i++){if(is_prime(i) && is_prime(reverse_num(i))){found=1;if(is_first){printf("%d",i);is_first=0;}else{printf(",%d",i);}}}if(!found){printf("No\n");}return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1411
?
總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通(1411:区间内的真素数)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1033:计算线段长度
- 下一篇: 信息学奥赛一本通(1202:Pell数列