• 一本通1155 回文三位数


    【题目描述】

    如果一个数从左边读和从右边读都是同一个数,就称为回文数。例如6886就是一个回文数,求出所有的既是回文数又是素数的三位数。

    【输入】

         (无)

    【输出】

    所有的既是回文数又是素数的三位数。一个数一行。

    【输入样例】

    (无)

    【输出样例】

    (无)

    1.之前回文数和素数的题都做过,
    现在居然结合起来搞了个回文素数...
    行吧,

    现在让我们见识一下这道题吧。
    2.按规矩分析一下吧,
    这个题的特点比较明显了啊,
    题目中就能看出来两个特点,
    回文数和三位数。
    题干中的素数特点也比较明显。
    所以这个题有三个关键点,
    我们就围绕这三个点来展开程序设计。
    3.三位数这个特点嘛...没什么好说的
    只有和回文数搭配起来才能爆发出强大的威力,
    仔细观察121,232等回文三位数,
    就能发现百位数和个位数是一样的,
    十位数不用管。
    根据前面的经验,
    判断素数的最快方法,
    就是从二到这个数的平方根向下取整都试一遍,
    没有能除尽的,
    这个数就是质数了。
    把100到999之间的数都判断一遍,
    然后输出,
    然后这题就算做完了...
    4.让我们对着题解看一看吧。
    #include<iostream>
    #include<cmath>
    using namespace std;
    bool zhishu(int x);//定义一个叫质数的bool型函数
    int main()
    {
        int i;
        for(i=100;i<=999;i++)//枚举三位数
            if(zhishu(i)&&(i/100==i%10))//判断质数和回文
            cout<<i<<endl;
        return 0;
    }
    bool zhishu(int x)//描述这个叫质数的bool函数
    {
        int i=2;
        while(i<=floor(sqrt(x))&&(x%i!=0))//判断质数的条件
        i++;
        if(i>floor(sqrt(x)))
        return true;
        return false;
    }
    

    5.今天总结时间又到了哈,

       这个题三个点,

       判断素数的方法做了好多遍了,

       回文数就比较难判断了,

       一开始觉得不怎么好做,

       想搞一个相反的字符串然后和原字符串比较,

       觉得实在太难搞了,肯定不是这样,

       然后列了几个回文三位数,发现我是个傻子...

       回文三位数的规律只要一写出数来,

       简直显而易见。

       当做到一个不可能特别难的题,

       但你想的方法真的特别难搞得时候,

       一定会有简单的,属于这个题的方法。

       

       

  • 相关阅读:
    PowerDesigner使用教程(一)
    为自己的博客园增加打赏功能[只需五步]
    [Python自学] DRF (4) (权限组件和频率组件)
    [Python自学] DRF (3) (认证组件)
    [Python自学] DRF (2) (视图类的封装)
    [踩坑] Django "OverflowError: Python int too large to convert to C long" 错误
    [Python自学] DRF (1)
    [Python自学] 设计模式之单例模式
    [Python自学] Django的admin组件
    [Python自学] Django的认证系统
  • 原文地址:https://www.cnblogs.com/Jiangxingchen/p/12260764.html
Copyright © 2020-2023  润新知