Ниво 10.5 на задачата Rust

Задание 1

Дадено е число. Покажете на екрана процеса на разлагане на числото на прости множители, както в училище.

Задание 2

Даден е произволен двумерен масив:

rust[
  [11, 12, 13, 14, 15],
  [21, 22, 23, 24, 25],
  [31, 32, 33, 34, 35],
  [41, 42, 43, 44, 45],
  [51, 52, 53, 54, 55],
}

Занулете елементите на главния му диагонал:

rust[
  [ 0, 12, 13, 14, 15],
  [21,  0, 23, 24, 25],
  [31, 32,  0, 34, 35],
  [41, 42, 43,  0, 45],
  [51, 52, 53, 54,  0],
}
Задание 3

Направете функция, която ще задава правилната форма на съществителното след число. Ето как трябва да работи тази функция:

rustfunc(1, "ябълка", "ябълки", "ябълки"); // ще изведе "1 ябълка"
func(2, "ябълка", "ябълки", "ябълки"); // ще изведе "2 ябълки"
func(3, "ябълка", "ябълки", "ябълки"); // ще изведе "3 ябълки"
func(4, "ябълка", "ябълки", "ябълки"); // ще изведе "4 ябълки"
func(5, "ябълка", "ябълки", "ябълки"); // ще изведе "5 ябълки"

Ето пример за двуцифрени числа:

rustfunc(11, "ябълка", "ябълки", "ябълки"); // ще изведе "11 ябълки"
func(12, "ябълка", "ябълки", "ябълки"); // ще изведе "12 ябълки"
func(21, "ябълка", "ябълки", "ябълки"); // ще изведе "21 ябълка"
func(23, "ябълка", "ябълки", "ябълки"); // ще изведе "23 ябълки"

Нашият метод трябва да работи за числа с произволна дължина:

rustfunc(1223421, "ябълка", "ябълки", "ябълки"); // ще изведе "1223421 ябълка"