输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。 package hope20141002_01; import java.util.*; public class JingDong { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入一个正整数:"); int k=fun(getString()); System.out.println("输出最小正整数:"+k); } public static Integer getString(){ return Integer.parseInt((new Scanner(System.in)).nextLine()); } public static int fun(int n1){ int n=n1;String k=""; if(n<=9){ return 10+n; } for(int i=9;i>=2;){ if(n%i==0){ k+=i; n=n/i; continue; }else i--; } int j=0;int n2=1; while(j<k.length()){ n2=n2*Integer.parseInt(k.charAt(j)+""); j++; } if(n2!=n1){ return -1; } String temp=""; for(int i=k.length()-1;i>=0;i--){ temp+=k.charAt(i); } return Integer.parseInt(temp); } }
时间: 2024-10-12 02:15:15