vivo2020届春季校园招聘在线编程考试(1)

    技术2022-07-11  78

    现给定任意正整数 n,请寻找并输出最小的正整数 m(m>9),使得 m 的各位(个位、十位、百位 ... ...)之乘积等于n,若不存在则输出 -1。

    //输入例子1: //36 // //输出例子1: //49 // //输入例子2: //100 // //输出例子2: //455

     

    package com.asher.vivo; import java.util.Scanner; public class Test002 { /** * 输入一个整形数值,返回一个整形值 * @param n int整型 n>9 * @return int整型 */ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = solution(n); System.out.println(m); } public static int solution (int n) { if (n <= 9) return n; for (int i = 9; i > 1; i--) { if (n % i == 0) return solution(n/i)*10 + i; } return -1; } }

     

    Processed: 0.009, SQL: 9