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 }

       

posted @ 2016-02-15 21:22  么么哒小鬼  阅读(201)  评论(0编辑  收藏  举报