输入一个正整数n,返回一个最小正整数m(m至少是2位数),使得m的各位乘积等于n,例如输入36,输出49,输入100,输出455,对于某个n不存在这样的m,请返回-1。

来源:互联网 发布:非法网络彩票赌博 编辑:程序博客网 时间:2024/06/03 20:43
输入一个正整数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 stubSystem.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;}elsei--;}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);}}

0 0