Nível 10.5 do livro de problemas Rust

Задание 1

Dado um número. Exiba na tela o processo de decomposição do número em fatores primos, como na escola.

Задание 2

Dada uma matriz bidimensional arbitrária:

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],
}

Zere os elementos de sua diagonal principal:

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

Crie uma função que definirá a forma correta do substantivo após o número. Veja como essa função deve funcionar:

rustfunc(1, "maçã", "maçãs", "maçãs"); // exibirá "1 maçã"
func(2, "maçã", "maçãs", "maçãs"); // exibirá "2 maçãs"
func(3, "maçã", "maçãs", "maçãs"); // exibirá "3 maçãs"
func(4, "maçã", "maçãs", "maçãs"); // exibirá "4 maçãs"
func(5, "maçã", "maçãs", "maçãs"); // exibirá "5 maçãs"

Aqui está um exemplo para números de dois dígitos:

rustfunc(11, "maçã", "maçãs", "maçãs"); // exibirá "11 maçãs"
func(12, "maçã", "maçãs", "maçãs"); // exibirá "12 maçãs"
func(21, "maçã", "maçãs", "maçãs"); // exibirá "21 maçãs"
func(23, "maçã", "maçãs", "maçãs"); // exibirá "23 maçãs"

Nosso método deve funcionar para números de qualquer comprimento:

rustfunc(1223421, "maçã", "maçãs", "maçãs"); // exibirá "1223421 maçãs"