rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn smallest_factorization(mut a: i32) -> i32 {
        let mut res: Vec<i32> = vec![];
        if a == 1 {
            return 1;
        }
        for i in (2..=9).rev() {
            while a % i == 0 {
                res.push(i);
                a /= i;
            }
        }
        if a != 1 {
            return 0;
        }
        let n = res.len();
        let mut x: i64 = 0;
        for i in (0..n).rev() {
            x = x * 10 + res[i] as i64;
        }
        if x > std::i32::MAX as i64 {
            0
        } else {
            x as i32
        }
    }
}

#[test]
fn test() {
    let a = 48;
    let res = 68;
    assert_eq!(Solution::smallest_factorization(a), res);
    let a = 15;
    let res = 35;
    assert_eq!(Solution::smallest_factorization(a), res);
    let a = 1;
    let res = 1;
    assert_eq!(Solution::smallest_factorization(a), res);
}