额,对于这道题我觉得提示给的有点傻呀,在下面注释里再仔细说。
【题目】
求出100-500内所有满足三位数字之和大于等于10的回文数(正读反读都一样的数)
【提示】
1.通过“for(int n=100;n<=500;n++){...}”形式的循环依此判断每个n是否为满足条件的数。
2.判断回文数可先求出反序数,而后判断反序数是否等于n。///这不是多此一举么,难道不能先生成回文数再判断是否各位是否大于等于10么,看代码
【代码】
/************
* 2013.10.23
* P49 自立题十六
* 求各位之和大于等于10的回文数
************/
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
int i, j, k;
for(i=1;i<=4;i++) ///i 百位数
{
for(j=0;j<=9;j++) ///j 十位数
{
k = i; ///k 个位数,百位数等于个位数,构成回文
if(i + j + k >= 10) ///判断是否大于等于10
{
cout<<i<<j<<k<<endl;
}
}
}
system("pause");
return 0;
}
/*********
* 7sDream
* 19:06
*********/
【结果】
吸取了上次Page 42, 自立题五的经验,人工的造了回文数,然后判断另一个条件,比 i=100 to 500少了很多循环。