信息学奥赛一本通(1408:素数回文数的个数)
1408:素數回文數的個數
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 14465 ??? 通過數: 9201
【題目描述】
求11到n之間(包括n),既是素數又是回文數的整數有多少個。
【輸入】
一個大于11小于1000的整數n。
【輸出】
11到n之間的素數回文數個數。
【輸入樣例】
23【輸出樣例】
1【提示】
提示:
回文數指左右對稱的數,如:292,333。
【參考代碼】
#include <stdio.h>
#include <math.h>
int palindrome(int n)
{
? ? int sum=0;
? ? while(n>0)
? ? {
? ? ? ? sum=sum*10+n%10;
? ? ? ? n/=10;
? ? }
? ? return sum;
}
int is_prime(int n)
{
?? ?int i,k;
?? ?if(n==1)
?? ??? ?return 0;
?? ?k=sqrt(n);
?? ?for(i=2;i<=k;i++)
?? ??? ?if(n%i==0)
?? ??? ??? ?return 0;
?? ?return 1;
}
int main()
{
? ??? ?int n,i,ans=0;
?
? ? scanf("%d",&n);
? ? for(i=11;i<=n;i++)
? ? {
? ? ? ? if(is_prime(i) && palindrome(i)==i)
? ? ? ? ?? ?ans++;
? ? }
? ? printf("%d\n",ans);
? ? return 0;
}
http://ybt.ssoier.cn:8088/problem_show.php?pid=1408
?
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1408:素数回文数的个数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 素数判定模板
- 下一篇: 信息学奥赛一本通(1241:二分法求函数