UVA 1583 - Digit Generator
原题见:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=106424#problem/C
题目要求:就是一个数学定义=。=
代码如下:
1 #include<stdio.h> 2 //Digit Generator问题,eg:256=245+2+4+5即245是256的一个Generator数 3 //Generator数可有多个也可以没有,此程序解法为全部算完 4 int main() 5 { 6 int res=0,t,num,i; 7 scanf("%d",&t); 8 while(t--) 9 { 10 scanf("%d",&num); 11 for(i=num-45;i<num;i++) //由于位数限制所以最多5*9=45个数,即从num-45开始循环 12 { 13 if((i+(i/10000)%1000+i%10000/1000+i%1000/100+i%100/10+i%10)==num) //直接一步把所求数求出来 14 { 15 res=i; 16 break; 17 } 18 } 19 if(res==0) printf("0\n"); 20 else printf("%d\n",res); 21 res=0; 22 } 23 return 0; 24 }