所谓回文数,就是说一个数字从左边读和从右边读的结果是一模一样的。
那么如何编程来判断一个数是否为回文数呢?
///判断一个数是否为回文数
//思路:从个位开始,依次取出每位上的数,然后反顺序输出,与原数比较即可
bool symm(unsigned n)
{
unsigned i = n;
unsigned m = 0;
while(i > 0)
{
m = m * 10 + i % 10;//取出该位上的数字
i /= 10;//降低位
}
return(m == n);
}
思考题:
寻找并输出11~999之间的数m,它满足m、m^2、m^3均为回文数。例如:11满足条件:11^2=121, 11^3=1331
代码如下:
#include <iostream>
using namespace std;
bool symm(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 i = 11; i <= 999; i++)
{
if(symm(i) && symm(i * i) && symm(i * i * i))
{
cout << "m = " << i << '\t'
<< "m ^ 2 = " << i * i << '\t'
<< "m ^ 3 = " << i * i * i << endl;
}
}
return 0;
}
本文介绍了一种判断数字是否为回文数的编程方法,并提供了一个C++代码示例,用于找出11到999之间,其自身、平方和立方都是回文数的所有整数。
——判断一个数是否为回文数&spm=1001.2101.3001.5002&articleId=88070156&d=1&t=3&u=fa16227f5d6d44c9bd7e116495216c9c)
2321

被折叠的 条评论
为什么被折叠?



