九度OJ 1064:反序数 (基础题)

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:3758

解决:2773

题目描述:

设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)
求N的值

输入:

程序无任何输入数据

输出:

输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开

样例输入:
 
   
样例输出:
 
   
来源:
2001年清华大学计算机研究生机试真题(第I套)

思路:

数的倒序,如果长,可以先用字符串反转来操作。


代码:

#include <stdio.h>
 
int fanxu(int a)
{
    int result;
 
    if (a>9999)
        return -1;
    result = a/1000 + (a/100)%10*10 + (a/10)%10*100 + a%10*1000;
    return result;
}
 
int main(void)
{
    int i;
 
    for (i=1000; i<9999; i++)
    {
        if (i == fanxu(i*9))
            printf("%d\n", i);
    }
 
    return 0;
}
/**************************************************************
    Problem: 1064
    User: liangrx06
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:908 kb
****************************************************************/


你可能感兴趣的:(C语言,OJ,九度)