信息学奥赛一本通(1411:区间内的真素数)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1411:区间内的真素数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1411:區間內的真素數
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 17046 ??? 通過數: 6833
【題目描述】
找出正整數M和N之間(N不小于M)的所有真素數。
真素數的定義:如果一個正整數P為素數,且其反序也為素數,那么P就為真素數。
例如,11,13均為真素數,因為11的反序還是為11,13的反序為31也為素數。
【輸入】
輸入兩個數M和N,空格間隔,1<=M<=N<=100000。
【輸出】
按從小到大輸出M和N之間(包括M和N)的真素數,逗號間隔。如果之間沒有真素數,則輸出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
?
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1411:区间内的真素数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1033:计算线段长度
- 下一篇: 信息学奥赛一本通(1202:Pell数列