23:區間內的真素數


23:區間內的真素數
總時間限制: 1000ms 內存限制: 65536kB
描述
找出正整數 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
題目鏈接:http://noi.openjudge.cn/ch0113/23/

 1 #include<stdio.h>
 2 #include<math.h>
 3 int isPrime(int n)//判斷n是否質數
 4 {
 5     int i,t=sqrt(n);
 6     for(i=2;i<=t;i++)
 7     {
 8         if(n%i==0) return 0;
 9     }
10     return 1;
11 } 
12 int isPrime2(int n)//判斷n的反序是否質數 
13 {
14     int i,t=0;
15     while(n>0)
16     {
17         t=t*10+n%10;
18         n=n/10;
19     }
20     return isPrime(t);
21 }
22 int main(int argc, char *argv[])
23 {
24     int m,n,i,t=0;
25     scanf("%d%d",&m,&n);
26     for(i=m;i<=n;i++)
27     {
28         if(isPrime(i)&&isPrime2(i))
29         {
30             if(t==0) { printf("%d",i); t=1; }
31             else printf(",%d",i);
32         }
33     }
34     if(t==0) printf("No\n");
35     return 0;
36 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM