UVa1583生成元(Digit Generator)

题目

       如果x加上x的各个数字之和得到y,也就是说x是y的生成元。给出n(1<=n<=100000),求最小生成元。无解则输出0。

输入输出样例

输入

3
216
121
2005

输出 

198
0
1979

思路

       要想解决这个题目,只需要对每一个输入的值从1开始遍历找到小于它自身的生成元取最小的即可,但是这样的话每一个输入都需要枚举一次,效率太低。更好的方法是我们一次性把1到100000内的所有正整数的最小生成元都求出来,然后对于每一个输入,直接查表即可。 

代码

#include<stdio.h>
#include<string.h>
#define maxn 100005//大小比较大的数组定义在主函数外面,防止出现异常
int ans[maxn];
int main(){
	int T,n;
	memset(ans,0,sizeof(ans));//将数组每一个的值初始化为0 
	int m=1;
	for(m=1;m<maxn;m++){//计算1到100000内的所有整数的最小生成元 
		int x=m,y=m;
		while(x>0){
			y+=x%10;
			x/=10;
		}
		if(ans[y]==0||m<ans[y]){//如果当前数的生成元还没有计算,或者后面计算出来的生成元比目前的生成元小,那么改为当前值 
			ans[y]=m;
		}
	}
	//接下来对于各种输入,直接查表即可 
	scanf("%d",&T);
	while(T--){
		scanf("%d",&n);
		printf("%d\n",ans[n]);
	}
	return 0;
} 

   这个题目的重点就是打表法的使用。

相关推荐

  1. UVa1583生成(Digit Generator)

    2023-12-06 22:46:02       36 阅读
  2. 生成(Digit Generator, ACM/ICPC Seoul 2005, UVa1583

    2023-12-06 22:46:02       38 阅读
  3. 生成”问题——穷举生成“查找表”

    2023-12-06 22:46:02       43 阅读
  4. 如何用 ChatGPT生成生成宇宙内容

    2023-12-06 22:46:02       35 阅读
  5. AI生活,由开始

    2023-12-06 22:46:02       29 阅读
  6. #Uniapp:App.vue/App.uvue 生命周期

    2023-12-06 22:46:02       31 阅读
  7. UVA-213

    2023-12-06 22:46:02       31 阅读
  8. TS 系列:使用生成联合类型

    2023-12-06 22:46:02       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-06 22:46:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-06 22:46:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-06 22:46:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-06 22:46:02       20 阅读

热门阅读

  1. Python 模块的使用方法

    2023-12-06 22:46:02       34 阅读
  2. AIGC: 关于ChatGPT中基于Whisper模型实现音频转文本

    2023-12-06 22:46:02       39 阅读
  3. C语言词法陷阱

    2023-12-06 22:46:02       33 阅读
  4. C# IList 与List区别&二叉树的层序遍历

    2023-12-06 22:46:02       38 阅读
  5. 面试:如何故意减慢网站速度?

    2023-12-06 22:46:02       42 阅读
  6. 普中STM32 单片机资料

    2023-12-06 22:46:02       31 阅读
  7. 转载:利用Flask实现深度学习模型部署

    2023-12-06 22:46:02       43 阅读
  8. python中的迭代器、生成器和装饰器(一)

    2023-12-06 22:46:02       33 阅读
  9. 【Q6-30min】

    2023-12-06 22:46:02       34 阅读
  10. lc.105 从前序与中序遍历序列构造二叉树

    2023-12-06 22:46:02       32 阅读
  11. 安卓https抓包(提供软件+视频)

    2023-12-06 22:46:02       40 阅读