关闭

UVa 1583 - Digit Generator

491人阅读 评论(0) 收藏 举报
分类:

題目:一個數字加上各位數字上的和叫做Digit Generator,求一個Digit Generator的最小的原數字。

分析:數論。直接打表計算出每個數字的Digit Generator,則他就是對應的原數字了。

說明:╮(╯▽╰)╭。

#include <cstring>
#include <cstdio>

int visit[100001];

int main()
{
	memset(visit, 0, sizeof(visit));
	for (int i = 0; i < 100001; ++ i) {
		int value = i, sum = i;
		while (value) {
			sum += value%10;
			value /= 10;
		}
		if (sum < 100001 && !visit[sum]) 
			visit[sum] = i;
	}
	
	int n, m;
	while (~scanf("%d",&n))
	while (n --) {
		scanf("%d",&m);
		printf("%d\n",visit[m]);
	}
    return 0;
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:844324次
    • 积分:19146
    • 等级:
    • 排名:第453名
    • 原创:1117篇
    • 转载:0篇
    • 译文:0篇
    • 评论:246条
    文章分类
    最新评论