寻找回文数
一、问题描述:
寻找并输出11~999的数m,它满足m、m2和m3均为回文数。
回文数
所谓回文数是指其各位数字左右对称的整数。例如:121、676、94249等。满足上述条件的数如m=11,m2=121,m3=1331.
二、设计思路:
- 从11~999遍历每个数;
- 判断是否为回文数,用除以10取余的方法从最低位开始取出各位数字,然后低位充当高位,与原数相比是否相等;
- 是回文数则输出,不是则判断下一个,直到999结束。
三、流程图:
四、伪代码实现:
while n> 0 do m = m*10 + i%10 n/= 10 end if m=n then n是回文数 for m=11 to 999 if m、m*m、m*m*m是回文数 then 输出m
五、代码实现:
1 #include <iostream> 2 using namespace std; 3 4 //判断n是否为回文数 5 bool symm(unsigned n)//unsigned单独使用时默认为unsigned int 6 { 7 unsigned i = n; 8 unsigned m = 0; 9 while (i > 0) 10 { 11 m = m * 10 + i % 10; 12 i /= 10; 13 } 14 return m == n; 15 } 16 17 int main() 18 { 19 for (unsigned m = 11; m < 1000; m++) 20 { 21 if (symm(m) && symm(m * m) && symm(m * m * m)) 22 { 23 cout << "m=" << m; 24 cout << " m * m=" << m * m; 25 cout << " m * m * m" << m * m * m << endl; 26 } 27 } 28 return 0; 29 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人