信息学奥赛C++语言: 素数回文数的个数
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛C++语言: 素数回文数的个数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
求11到n之間(包括n),既是素數又是回文數的整數有多少個。
【輸入】
一個大于11小于1000的整數n。
【輸出】
11到n之間的素數回文數個數。
【輸入樣例】
23
【輸出樣例】
1
代碼
#include<cstdio> #include<cmath> using namespace std; bool prime(int x); int palindrome(int n);int main() {int n;int a=0;int i;scanf("%d",&n);for(i=11; i<=n; i++) if( prime(i) && palindrome(i)==i )a++;printf("%d\n",a);return 0; }bool prime(int x) {int i=2;while( i<=floor(sqrt(x)) && (x%i!=0) )i++;if(i>floor(sqrt(x)))return true;return false; }int palindrome(int n) {int sum=0;while(n>0){sum=sum*10+n%10;n/=10;}return sum; }總結
以上是生活随笔為你收集整理的信息学奥赛C++语言: 素数回文数的个数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 人口增长(信息学奥赛一本通-T1070)
- 下一篇: 计算器的改良(洛谷-P1022)