UVa1583

来源:互联网 发布:java实例编程题题库 编辑:程序博客网 时间:2024/05/21 12:46

题目

范围还好,但是是多数据,穷举肯定要挂。于是准备生成表(c)。先把c全部赋值成0,再生成。若c那么就输出a[n]。(输出0表示无解)。

查表即可。

#include <stdio.h>#include <string.h> int c[100090];int main(){int n,i,x,t,y;memset(c,0,sizeof(c));for(i=1;i<=100000;i++){x=i;y=i;while(x>0)//分离各个数位 {y += x % 10;x /= 10;}if ((c[y]==0) || (c[y]<x))//如果得到的值小或原来是0就存在c{c[y]=i;}}scanf("%d",&n);for(i=1;i<=n;i++){    scanf("%d",&t);    printf("%d\n",c[t]);//输出表    }return 0;} 


0 0
原创粉丝点击