第十一周项目6-回文&素数(四) .

来源:互联网 发布:h5转盘抽奖源码 编辑:程序博客网 时间:2024/04/30 07:41

编制main函数,调用(一)、(二)、(三)定义的3个函数
• 输出1000以内的所有素数。
• 输出1000以内的所有回文数。
• 输出1000以内的所有回文素数。
• 若一个素数的反序数仍为素数,则称它为可逆素数。求10000以内的所有可逆素数。

/* *Copyright (c) 2014,烟台大学计算机学院 *All gight reserved. *文件名称:temp.cpp *作者:邵帅 *完成时间:2014年11月6日 *版本号:v1.0*/#include<iostream>using namespace std;int main(){    bool isPrimer(int n);    bool isPalindrome(int n);    int reverse(int x);    int m;    cout<<"1000以内所有的素数:";    for (m=1; m<=1000; m++)    {        if (isPrimer(m))            cout << m << " ";    }    cout<<endl<<endl<<"1000以内所有的回文数:";    for(m=1; m<=1000; m++)    {        if (isPalindrome(m))            cout << m << " ";    }    cout<<endl<<endl<<"1000以内所有的回文素数:";    for (m=1; m<=1000; m++)    {        if (isPrimer(m))        {            if (isPalindrome(m))                cout << m << " ";        }    }    cout<<endl<<endl<<"10000以内所有的可逆素数:";    int n;    for (m=1; m<=10000; m++)    {        if (isPrimer(m))        {            n=reverse(m);            if (isPrimer(n))                cout<<m<<" ";        }    }    return 0;}bool isPrimer(int n){    if(n<2)        return false;    for (int i=2; i*i<=n; i++)    {        if(n % i == 0)            return false;    }    return true;}bool isPalindrome(int n){    int x = 0, r,o;    o=n;    while (n > 0)    {        r = n % 10;        x = x * 10 + r;        n = n / 10;    }    if (o==x)        return true;    else        return false;}int reverse(int x){    int m=0,r;    while (x>0)    {        r=x%10;        m=m*10+r;        x=x/10;    }    return m;}


运行结果:

 

@ Mayuko

0 0
原创粉丝点击