您好,欢迎来到爱够旅游网。
搜索
您的当前位置:首页一个正整数n,一个正整数m(m>9),m的各位(个位、十位、百位)相乘等于n

一个正整数n,一个正整数m(m>9),m的各位(个位、十位、百位)相乘等于n

来源:爱够旅游网

要求实现算法:一个正整数n 一个正整数m(m>9) m的各位(个位、十位、百位、)相乘等于n

例如:输入36 输出49 输入100 输出455

public static int solution(int n) {
    int res = recur(n);
    if (res > 0) return res;
    return -1;
}

    public static int recur(int n) {
        if (n < 9) return n;
        for (int i = 9; i > 1; i--) {
            if (n % i == 0) return recur(n/i)*10 + i;
        }
        return -1;
    }

这个算法的核心思想就是,拿你想输入的数n除以9~0是否余数为0。如果为0,则说明它是期中的一个因子,再把因子相乘。然后输出,就得到结果。

这个题曾是vivo公司的一道编程题。如果有疑义的话,可以评论到下面一起交流。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务