反序数

1. 基本思路

基本上的一个思路是按照枚举法进行, i从1000开始,但是没必要到9999,因为明显i的9倍必须是一个四位数,才能与i构成反序数。

另外反序的验证,此处只有四位数,直接通过除法和取模实现。

2. 代码

#include <cstdio>

using namespace std;

int main(){
    int k=0;
    // 保证仅对有效数字进行枚举,i的九倍必须小于10000
    for(int i=1000;i*9<10000;i++)
    {
        k=i*9;
        if( (k%10==i/1000) && ((k%100)/10)==(i%1000)/100 && (k%1000)/100 == ((i%100)/10) && k/1000 == i%10 )
        {
            printf("%d\n",i);
        }
    }
}