首页 > 其他 > 详细

51Nod 1433 0和5(9的倍数理论)

时间:2017-04-25 22:47:48      阅读:117      评论:0      收藏:0      [点我收藏+]

http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1433

技术分享

 

思路:

数论中关于9的倍数的理论:若是一个数能被9整除,则各位数之和为9的倍数。

因为这题是90的倍数,所以至少得有一个0。

分别统计0和5的个数,9个5相加的话就是9的倍数,计算出能有几个9个5,剩下的0全排最后就可以了。

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<vector>
 6 #include<stack>
 7 #include<queue>
 8 #include<cmath>
 9 using namespace std;
10 
11 int n;
12 
13 int main()
14 {
15     //freopen("D:\\input.txt","r",stdin);
16     int x;
17     while(scanf("%d",&n)!=EOF)
18     {
19         int sum_5=0,sum_0=0;
20         while(n--)
21         {
22             scanf("%d",&x);
23             if(x==5)  sum_5++;
24             else sum_0++;
25         }
26         if(sum_0==0)  {puts("-1");continue;}
27         sum_5-=sum_5%9;
28         if(sum_5)
29         {
30             while(sum_5--)
31                 printf("5");
32             while(sum_0--)
33                 printf("0");
34             printf("\n");
35         }
36         else puts("0");
37     }
38     return 0;
39 }

 

51Nod 1433 0和5(9的倍数理论)

原文:http://www.cnblogs.com/zyb993963526/p/6764781.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!