您的位置:首页 > 其它

第11周项目6-回文、素数 输出1000以内的所有素数、回文数、回文素数和10000以内的所有可逆素数(多文件组织程序)

2014-11-10 10:54 483 查看
1./*
2. * Copyright (c) 2014, 烟台大学计算机学院
3. * All rights reserved.
4. * 文件名称:test.cpp
5. * 作 者:刘畅
6. * 完成日期:2014年 11 月 10 日
7. * 版 本 号:v1.0
8. *
9. * 问题描述:。输出1000以内的所有素数、回文数、回文素数和10000以内的所有可逆素数;
10. * 输入描述: 分情况而定;
11. * 程序输出:输出该输出的数;
12. */
//main.cpp
#include <iostream>
using namespace std;
bool primenumber(int );
bool isPalindrome(int );
int reverse(int );
int main()
{
    int m,n,i=0;
    cout<<"输出1000以内的素数:"<<endl;
    for (n=2; n<1000; ++n)
    {
        if (primenumber(n))
           {
               cout<<n<<" ";
               i++;
               if (i%10==0)
                cout<<endl;
           }
    }
    cout<<endl;
    cout<<"输出1000以内的回文数:"<<endl;
    for (n=1,i=0;n<1000;++n)
    {
        if (isPalindrome(n))
        {
            cout<<n<<" ";
            i++;
            if (i%10==0)
                cout<<endl;
        }
    }
    cout<<endl;
    cout<<"输出1000以内的回文素数:"<<endl;
    for (n=2,i=0;n<1000;++n)
    {
        if (isPalindrome(n)&&primenumber(n))
            {
                cout<<n<<" ";
                i++;
                if (i%10==0)
                cout<<endl;
            }
    }
    cout<<endl;
    cout<<"输出10000以内的可逆素数:"<<endl;
    for (n=2,i=0;n<10000;++n)
    {
        m=reverse(n);
        if (primenumber(m)&&primenumber(n))
            {

                cout<<n<<" ";
                i++;
                if (i%10==0)
                    cout<<endl;
            }
    }
    return 0;
}


//fun.cpp
bool primenumber(int n)
{
    int i;
    for (i=2; i<=sqrt(n); ++i)
        if (n%i==0)
            break;
    if (i>sqrt(n))
        return n;
}

bool isPalindrome(int n)
{
    int s=0,i,j=n;
    while (j>0)
    {
        i=j%10;
        s=s*10+i;
        j=j/10;
    }

    return (s==n);
}

int reverse(int x)
{
    int r,m=0;
    while (x>0)
    {
        r=x%10;
        m=m*10+r;
        x=x/10;
    }
    return m;
}











运行结果:








知识点总结:
多文件组织程序果然很强大,将主函数和其他函数分开,再也不用担心搞混了。

学习心得:
上传图像还有大小限制,这次的图又很大,处理了几次都没搞好,只好让不全的图发上来了,不过还是有代码在前面的。
自己在编写的时候出了问题,在其他函数的界面内sqrt是不能被读取的,必须要在这个界面内加上#include <cmath>。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐