vivo笔试题


第一题 数位之积

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

 /**
     * 输入一个整形数值,返回一个整形值
     * @param n int整型 n>9
     * @return int整型
     */
    public int solution (int n) {
    
    

        int sum=0;
        int key=1;
        for(int i=9;i>1;i--){
    
    
            while(n%i==0){
    
    
                n/=i;
                sum+=key*i;
                key*=10;
            }
        }

        return n==1?sum:-1;

    }

第二题 手机产量

在这里插入图片描述

 /**
     * 输入一个整形数值,返回一个整形值
     * @param n int整型 n>9
     * @return int整型
     */
    public int solution (int n) {
    
    

        int sum=0;
        int key=1;
        for(int i=9;i>1;i--){
    
    
            while(n%i==0){
    
    
                n/=i;
                sum+=key*i;
                key*=10;
            }
        }

        return n==1?sum:-1;

    }

猜你喜欢

转载自blog.csdn.net/qq_38847154/article/details/108861748
今日推荐