Skip to content

Instantly share code, notes, and snippets.

@KolosovAO
Created November 4, 2018 12:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save KolosovAO/66302ad6e15d76f0d2090b2f64443867 to your computer and use it in GitHub Desktop.
Save KolosovAO/66302ad6e15d76f0d2090b2f64443867 to your computer and use it in GitHub Desktop.

Решение без создания дополнительного массива для промежуточного хранения чисел.

fn multiplication_of_digits(mut n: i32) -> i32 {
    let mut result = 0;
    let mut multiplicator = 9;

    let mut digit = 1;

    while multiplicator > 1 {
        if n %  multiplicator == 0 {
            result += multiplicator * digit;
            digit *= 10;
            n /= multiplicator;
        } else {
            multiplicator -= 1;
        }
    }

    if n > 9 {
        result = -1;
    }

    result
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment