随笔 - 402  文章 - 0  评论 - 6  阅读 - 3251

第三章部分例题(2)

例3-4

寻找并输出11~999的数m,它满足m、m的平方,和m的三次放均为回文数。

分析:判断一个数是否为回文数,可以用除以10取余的方法,从最低位开始,依次取出该数的各位数字,然后用最低位充当最高位,判断是否相等。

代码:

复制代码
#include<iostream>

using namespace std;
bool huiwen(unsigned n )
{
    unsigned i=n;
    unsigned m = 0;
    while (i > 0) {
        m = m * 10 + i % 10;
        i /= 10;
    }
    return m == n;
}
int main()
{
    for (unsigned m = 11; m < 1000; m++)
    {
        if (huiwen(m) && huiwen(m * m) && huiwen(m * m * m))
        {
            cout << m<<" ";
        }
}
    return 0;
}
复制代码

 

posted on   石铁生  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示