首页 > 代码库 > 51Nod 1433 0和5(9的倍数理论)
51Nod 1433 0和5(9的倍数理论)
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的倍数理论)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。