信息学奥赛一本通T1408:函数 素数回文数的个数

【题目描述】求11到n之间(包括n),既是素数又是回文数的整数有多少个。【输入】一个大于11小于1000的整数n。【输出】11到n之间的素数回文数个数。【输入样例】23【输出样例】1【源程序】 

信息学奥赛一本通T1408:素数回文数的个数

【题目描述】

求11到n之间(包括n),既是素数又是回文数的整数有多少个。

【输入】

一个大于11小于1000的整数n。

【输出】

11到n之间的素数回文数个数。

【输入样例】

23

【输出样例】

1

【源程序】

#include<iostream>
#include<cmath>
using namespace std;
bool prime(int x);
int palindrome(int n);

int main()
{
    int n;
    int ans=0;
    int i;

    cin>>n;
    for(i=11; i<=n; i++) //从11枚举到n
        if( prime(i) && palindrome(i)==i )//分别判断i是否是素数以及回文数
            ans++;
    cout<<ans<<endl;
    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;
}

 

信息学奥赛一本通T1408:函数 素数回文数的个数 归属于 函数,更多同类题解源程序见:函数 和 素数回文数的个数

0 条评论

请先 登录 后评论
不写代码的码农
轩爸

0 篇文章

作家榜 »

  1. admin 2 文章
  2. 张芳 0 文章
  3. hanna 0 文章
  4. Jason 0 文章
  5. lixiaioqian 0 文章
  6. GeraldWrora 0 文章
  7. 董伟 0 文章
  8. 信奥达人 0 文章