题目链接:http://codeup.cn/problem.php?cid=100000588&pid=1
题目描述
设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)
求N的值
输入
程序无任何输入数据。
输出
输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。
代码
方法1:
#include<stdio.h>
int main() {
int n;
for(n = 1000; n < 10000; n++) {
int m = n / 1000 + n % 1000 / 100 * 10 + n % 100 / 10 * 100 + n % 10 * 1000;
if(9 * n == m)
printf("%d\n",n);
}
return 0;
}
方法2:
#include<stdio.h>
int to_array(int n, int num[]) {
int i;
for(i = 0; n >= 1; i++) {
num[i] = n % 10;
n /= 10;
}
return i;
}
int main() {
int n, i, num_1[5], num_2[5];
for(n = 1000; n < 10000; n++) {
to_array(n, num_1);
int m = n * 9;
if(m < 10000) {
to_array(m, num_2);
for(i = 0; i < 4; i++) {
if(num_1[i] != num_2[3 - i])
break;
}
if(i == 4)
printf("%d\n", n);
}
}
return 0;
}