一、题目
设 N 是一个四位数,它的 9 倍恰好是其反序数,求 N。反序数就是将整数的数字倒过来形成的整数。例如:1234 的反序数是 4321。
二、解答
#include <stdio.h>int reverse(int num)
{int rev = 0;while (num > 0){rev = rev * 10 + num % 10;num /= 10;}return rev;
}int main()
{int N, revN;for (N = 1000; N < 10000; N++){revN = reverse(N);if (N * 9 == revN){printf("%d\n", N);}}return 0;
}
执行结果
1089
三、总结
首先定义了一个reverse函数,用于计算一个整数的反序数。然后在主函数中,使用一个循环遍历1000到9999之间的所有四位数N,计算N的反序数revN,如果N乘以9等于revN,则输出N。