问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
方法一:遍历所有数,判断是否符合回文数要求
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
bool fuc(int num)
{
int temp = num;
int a, b;//right, left
a = temp % 100;//take surplus
temp /= 100;
b = temp;
int inverse_b;
inverse_b = b % 10;
b /=10;
inverse_b = inverse_b *10 + b;
if(inverse_b == a)
return 1;
else
return 0;
}
int main(int argc, char** argv) {
int num;
for(int i = 1000; i < 10000; i++)
{
num = i;
if(fuc(num))
cout<<num<<endl;
}
return 0;
}
方法二:按规律写出数字
#include <iostream>
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char** argv) {
for(int i = 1;i <10; i++)
{
for(int j = 0; j < 10; j++)
cout<<i*1000 + j*100 + j*10 +i<<endl;
}
return 0;
}