百度2021java笔试

n个由0和5组成的数,找出所有可能的数字中最大能整除90的最大数字,不存在则输出-1。

先看有没有0,没有0直接输出-1,然后看剩下的5能分成几组9个5一组的。因为数字和为9的数能被9整除

import java.util.Scanner;

public class Solution6 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int c0 = 0;
        int c5 = 0;
        for (int i = 0; i < num; i++) {
            int n = sc.nextInt();
            if(n == 0){
                c0 ++;
            }else{
                c5 ++;
            }
        }
        c5 = c5 / 9;
        if(c0 == 0 ){
            System.out.println(-1);
        }else if(c5 == 0){//0是能被任何非零自然数整除(90)
        	//*当组成的数小于5555555550时,最大能整除90的数字是0*
            System.out.println(0);
        }else {
            while (c5 > 0){
                System.out.println("555555555");
                c5--;
            }
            while (c0 > 0){
                System.out.println("0");
                c0--;
            }
        }
    }
}

你可能感兴趣的:(笔试题)