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;

    }

©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页