• 2020.1.20 绝对素数


    Bonjour!我是历城二中信息学奥赛的姜岳宸。今天是我第一次发博客呢!:)

    今天我做了一个很简单的题:绝对素数(信息学奥赛P1153)

    题目大概是,如果一个两位数本身和其交换个位和十位形成的新数字都是素数,那么这个数叫绝对素数。输出所有两位绝对素数。

    打表是个好东西。

    打表是个好东西!

    打表是个好东西!!!

    To Be Continued->

    首先要解决质数(我就不说素数,来打我呀)的判断问题。紧扣质数定义,写如下函数:

    bool zhiShu(int a)
    {
        if(a==1) return false;
        for(int i=2;i<a;i++)
        {
            if(a%i==0) return false;
        }
        return true;
    }

    首先1不是质数,返回false;从2开始除到参数-1,若有一个能整除,那么它不是质数。都不能整除就是了。

    然后。。。基于质数的判断,再写一个判断绝对质数的函数:

    bool totallyZhishu(int a)
    {
        int b=0;
        b=a%10*10+a/10;
        if(zhiShu(a)&&zhiShu(b)) return true;
        else return false;
    }

    其中有关于质数判断函数的使用。b是“新两位数”。

    然后愉快地写main函数:

    #include<iostream>
    #include<cstdio>
    using namespace std;
    bool totallyZhishu(int a);
    bool zhiShu(int a);
    int main()
    {
        for(int i=10;i<=99;i++)
        {
            if(totallyZhishu(i)) cout<<i<<endl;
        }
    }
    bool totallyZhishu(int a)
    {
        int b=0;
        b=a%10*10+a/10;
        if(zhiShu(a)&&zhiShu(b)) return true;
        else return false;
    }
    bool zhiShu(int a)
    {
        if(a==1) return false;
        for(int i=2;i<a;i++)
        {
            if(a%i==0) return false;
        }
        return true;
    }

    ok!

    这里我写了两个函数,大函数里有小函数。这是我这个程序唯一不太一样的地方,其他都很简单。

    我为什么要写这个。。。凑字数!

  • 相关阅读:
    mmap函数实现
    linux交换空间
    日志式文件系统
    Linux内核书籍
    进程状态
    form表单中enctype="multipart/form-data"的作用
    php导入excel表格
    什么是隐藏域
    把生成的excel文件直接提供为下载页效果
    到底什么是实例化
  • 原文地址:https://www.cnblogs.com/jiangyuechen/p/12217226.html
Copyright © 2020-2023  润新知