求解反序数函数
int Reverse(int x) { //求反序数
int revx = 0;
while (x != 0) {
revx *= 10;
revx += x % 10;
x /= 10;
}
可直接用语if()判断中,i == Reverse(i),去判断是不是一个数的反序数,或者i * 9 == Reverse(i)则是用于判断是不是i的九倍是不是i本身的反序数,也可以加循环
#include<iostream>
#include<cstdio>
using namespace std;
int Reverse(int x){
int revx = 0;
while(x != 0){
revx *= 10;
revx += x % 10;
x /= 10;
}
return revx;
}
int main(){
//四位数的九倍还是四位数,只能在1000~1111之间
for(int i = 1000; i <= 1111; i++){
if(i * 9 == Reverse(i)){
printf("%d\n", i);
}
}
return 0;
}