java 625.最小因子分解(第1).java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 625.最小因子分解(第1).java相关的知识,希望对你有一定的参考价值。

public class Solution {
    public int smallestFactorization(int n) {
        if ( n < 10) return n;
        List<Integer> temp = new ArrayList<Integer>();
        for (int i = 9; i > 1; i--) {
            while (n % i == 0) {
                n /= i;
                temp.add(i);
            }
        }
        
        if (n != 1) return 0; // n is a prime
        long res = 0;
        for (int i = temp.size() - 1; i >=0; i--) {
            res = res * 10 + temp.get(i);
            if (res >= Integer.MAX_VALUE) return 0;
        }
        return (int)res;
    }
}
public class Solution {
    public int smallestFactorization(int a) {
        if (a <= 1) {
            return a;
        }
        long num = 0;
        int factor = 9;
        long orderOfMagnitude = 1;
        while (a != 1 && factor > 1) {
            while (a % factor == 0) {
                a /= factor;
                num += factor * orderOfMagnitude;
                orderOfMagnitude *= 10L;
            }
            factor--;
        }
        if (a != 1 || num > Integer.MAX_VALUE) {
            return 0;
        }
        return (int) num;
    }
}

以上是关于java 625.最小因子分解(第1).java的主要内容,如果未能解决你的问题,请参考以下文章

java 625.最小因子分解(第1).java

java 625.最小因子分解(第1).java

java 625.最小因子分解(第1).java

java 625.最小因子分解(第1).java

Javascript-625-最小因式分解——腾讯面试题库

题解《算法零基础100讲》(第10讲) 因子分解和枚举(java版)