上机报告7-1项目一素数和回文

来源:互联网 发布:糖豆网广场舞软件下载 编辑:程序博客网 时间:2024/06/06 08:38

一问题及代码

问题

(1)输出300以内的所有素数。
(2)输出300以内的所有回文数。
(3)输出300以内的所有回文素数。

(4)若一个素数的反序数仍为素数,则称它为可逆素数。求300以内的所有可逆素数。

代码

/** 文件名称: 登录* 作    者:  吴航峰* 完成日期:    2016  年  6  月   2日* 版 本 号:v1.0* 对任务及求解方法的描述部分:* 输入描述:* 问题描述:素数和回文* 程序输出:* 问题分析:* 算法设计:*/#include <iostream>using namespace std;bool Prime(int i){    int i1;    bool m=false;    for (i1=2;i1<i;i1++)    {        if(i%i1==0)        {            break;        }    }    if (i1==i)    {        m= true;    }    return m;}int Contrary(int i){        int a[3]={0},b=0,n;    int i1=i;    while(i1!=0)    {        a[b]=i1%10;        i1=i1/10;        b++;    }    if(b==1)        n=a[0];    else if (b==2)        n=a[0]*10+a[1];    else if (b==3)        n=a[0]*100+a[1]*10+a[2];    return n;}bool  Pla(int i){    bool m= false ;    if (Contrary(i)==i)       {           m=true;       }    return m ;}int main (){    int i;    cout <<"300以内的素数为 "<<endl;    for (i=2;i<=300;i++)    {        if(Prime(i)==true)        {            cout<< i<<"  ";        }    }    cout <<endl<<"300以内的回文数为"<<endl;    for (i=2;i<=300;i++)    {        if(Pla(i)==1)        {            cout <<i<<" " ;        }    }    cout <<endl<<"300以内的回文素数为"<<endl;    for (i=2;i<=300;i++)    {        if(Pla(i)==true&&Prime(i)==true)        {            cout <<i<<" " ;        }    }    cout <<endl<<"300以内的可逆素数为"<<endl;    for (i=2;i<=300;i++)    {        int n=Contrary(i);        if(Prime(n)==true&&Prime(i)==true)        {            cout <<i<<" " ;        }    }    return 0;}

二、运行结果

三、心得体会

写代码的时候没理解题目意思,一直和答案不一样。改了好久。、

四、知识点总结

函数的运用

0 0
原创粉丝点击