cjweffort

博客园 首页 联系 订阅 管理

http://ac.jobdu.com/problem.php?cid=1040&pid=39

题目描述:

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

输入:

程序无任何输入数据

输出:

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

样例输入:

样例输出:
// 题目40:反序数.cpp: 主项目文件。

#include "stdafx.h"
#include <cstdio>

bool rev(int n)
{
	int tmp=n*9;
	int arrA[11],arrB[11];
	int cntA=0,cntB=0;
	while(n)
	{
		arrA[cntA++]=n%10;
		n/=10;
	}
	while(tmp)
	{
		arrB[cntB++]=tmp%10;
		tmp/=10;
	}
	if(cntA!=cntB)
		return false;
	for(int i=0,j=cntB-1;i<cntA&&j>=0;i++,j--)
	{
		if(arrA[i]!=arrB[j])
			return false;
	}
	return true;
}

int main()
{
	freopen("F:\\output.txt","w",stdout);
	for(int i=1000;i<=1111;i++)
	{
		if(rev(i))
			printf("%d\n",i);
	}
    return 0;
}


posted on 2013-03-05 11:35  cjweffort  阅读(148)  评论(0编辑  收藏  举报