很简单但是很细节一道题
容易考虑不周全出错
第一次做的时候没考虑到最大(0的数量)
第二次提交时候没有考虑到出现多个0但是没有5怎么输出
最后第三次反复检查提交成功
来为Java争得一席之地
首先说明我是Java党平时用Java多
先讲一件事只要所有的数字加起来是9的倍数就可以被9整除
于是乎此题就变成了求5的个数是不是大于9然后将0和5分开输出
即先输出5,最后把所有输入的0全部输出(题中说要保持最大,所以0一定会全部用上,所以在5数量大于9个时全部用上)
然后先统计输入的0和5的数量
再看5的数量被9除完后的整数部分
就是输出的九个五的个数
嘻嘻是不是很明了了
附上满分Java代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int[] b = new int[a];
int num0 = 0;
int num5 = 0;
for (int i = 0; i < a; i++) {
b[i] = sc.nextInt();
}
for (int i = 0; i < a; i++) {
if (b[i] == 0)
num0++;
if (b[i] == 5)
num5++;
}
int c = num5 / 9;
if (c > 0) {
for (int i = 0; i < c; i++) {
System.out.print("555555555");
}
for (int i = 0; i < num0; i++) {
System.out.print("0");
}
} else {
if(num0==0)
System.out.println("-1");
else
System.out.println(0);
}
}
}