rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn digit_square_sum(mut x: i32) -> i32 {
        let mut sum = 0;
        while x > 0 {
            let tmp = x % 10;
            sum += tmp * tmp;
            x /= 10;
        }
        sum
    }

    fn is_happy(n: i32) -> bool {
        let mut slow = n;
        let mut fast = n;
        loop {
            slow = Self::digit_square_sum(slow);
            fast = Self::digit_square_sum(fast);
            fast = Self::digit_square_sum(fast);
            if slow == fast {
                break;
            }
        }
        slow == 1
    }
}

#[test]
fn test() {
    assert_eq!(Solution::is_happy(19), true);
}