BASIC-8 回文数
问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
解题思路:1.枚举法。枚举1000~9999之间所有数字,将个十百千位分离出来。判断各位和千位,十位与百位数字是否相等。
方法一:
#include<cstdio >
int main(){
for(int i1=1;i1<10;i1++)
for(int i2=0;i2<10;i2++)
for(int i3=0;i3<10;i3++)
for(int i4=0;i4<10;i4++){
if(i1==i4 && i2==i3)
printf("%d%d%d%d\n",i1,i2,i3,i4);
}
return 0;
}
方法二:
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
int i1,i2,i3,i4;
for(int i=1000;i<=9999;i++){
i1=i/1000;
i2=i%1000/100;
i3=i%1000%100/10;
i4=i%1000%100%10;
if(i1==i4&&i2==i3){
cout<<i<<" ";
}
}
return 0;
}