阅读背景:

第十一周项目六:回文素数2

来源:互联网 

问题及代码:

/*
 *copyright (c) 2014,烟台大学计算机学院
 *all rights reserved.
 *文 件 名 : 回文素数.cpp
 *作    者 :白云飞
 *完成日期 :2014年11月10号
 *版 本 号 :v1.0
 *
 *问题描述 :输出1000以内所有的回文素数,回文数,素数,10000以内所有可逆素数
 *输入描述 :无
 *程序输出 :输出1000以内所有的回文素数,回文数,素数,10000以内所有可逆素数
 */
#include<iostream>
using namespace std;
bool ispalindrome(int);
bool isprimer(int);
int reverse(int);//自定义函数
int main()
{
    int i,n;//声明变量
    for(i=2; i<=1000; i++)//循环语句
    {
        if(isprimer(i))//if语句进行判断
            cout<<i<<" ";//输出素数
        else cout<<"";
    }
    cout<<endl;
    for(i=1; i<=1000; i++)//循环语句
    {
        if(ispalindrome(i))//if语句进行判断
            cout<<i<<" ";//输出回文数
        else cout<<"";
    }
    cout<<endl;
    for(i=2; i<=1000; i++)//循环语句
    {
        if(ispalindrome(i)&&isprimer(i))//if语句进行判断
            cout<<i<<" ";//输出回文素数
        else cout<<"";
    }
    cout<<endl;
    for(i=2; i<=10000; i++)//循环语句
    {
        n=reverse(i);
        if(isprimer(i)&&isprimer(n))//if语句进行判断
            cout<<i<<" ";//输出可逆素数
        else cout<<"";
    }
    cout<<endl;
}
bool ispalindrome(int b)//调用自定义函数
{
    int r,m=0,h=b;//声明变量
    while (b>0)//循环语句
    {
        r=b%10;
        m=m*10+r;
        b=b/10;
    }
    if (m==h)//if语句进行判断
        m=1;
    else m=0;
    return m;
}
bool isprimer(int b)//调用自定义函数
{
    int i;//声明变量
    for(i=2; i<b; i++)//循环语句
    {
        if( b%i==0)//if语句进行判断
            return 0;
    }
    return 1;
}
int reverse(int x)//调用自定义函数
{
    int m=0,r;//声明变量
    while(x>0)//循环语句
    {

        r=x%10;
        m=m*10+r;
        x=x/10;
    }
    return m;
}/*
 *copyright (c) 2014,烟台大学计算机学院
 *al



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: