第11周项目6输出1-1000的所有素数、回文数、回文素数、可逆素数(调用三个函数实现输出目标数)

来源:互联网 发布:淘宝优惠券链接淘口令 编辑:程序博客网 时间:2024/05/18 03:52

问题及代码:

/*  *Copyright (c)2014,烟台大学计算机与控制工程学院  *All rights reserved.  *文件名称:numbers.cpp  *作    者:单昕昕  *完成日期:2014年11月10日  *版 本 号:v1.0  *  *问题描述:调用自定义函数完成输出目标数。*程序输出:所有满足条件的数。 */ #include <iostream>#include <cmath>using namespace std;bool isPrime(int);int reverse(int);int isPalindrome(int);int main(){    int a,b,c,d;    cout<<"1-1000的素数有:"<<endl;    for(a=2; a<1000; ++a)    {        if(isPrime(a))        cout<<a<<"、";    }    cout<<endl;    cout<<"1-1000的回文数有:"<<endl;    for(b=11; b<1000; b++)    {        if(isPalindrome(b)==b)            cout<<b<<"、";    }    cout<<endl;    cout<<"1-1000的回文素数有:"<<endl;    for(c=10; c<1000; ++c)    {        if(isPrime(c)&&(isPalindrome(c)==c))            cout<<c<<"、";    }    cout<<endl;    cout<<"1-10000的可逆素数有:"<<endl;    for(d=10; d<10000; ++d)    {        if(isPrime(d)&&(isPrime(reverse(d))))            cout<<d<<"、";    }    cout<<endl;    return 0;}bool isPrime(int n){    bool prime=true;    int k=int(sqrt(n));    for(int i=2;i<=k;i++)    {        if(n%i==0)        {            prime=false;            break;        }    }    return prime;}int reverse(int x){    int m,r;    m=0;    while(x>0)    {        r=x%10;        m=m*10+r;        x=x/10;    }    x=m;    return (x);}int isPalindrome(int y){    int x,r;    x=0;    while(y>0)    {        r=y%10;        x=x*10+r;        y=y/10;    }    y=x;    return (y);}


 

运行结果:

 

知识点总结:

调用三个函数。

 

学习心得:

╮(╯▽╰)╭必须得确保每个函数的正确性,感觉运行窗口的排版怎么这么难看呢。
0 0