Уровень 10.5 задачника Java

Задание 1

Дано число. Выведите на экран процесс разложения числа на простые множители, как в школе.

Задание 2

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

java{
  {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},
}

Обнулите элементы его главной диагонали:

java{
  { 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

Сделайте метод, который будет устанавливать правильную форму существительного после числа. Вот как должна работать этот метод:

javafunc(1, "яблоко", "яблока", "яблок"); // выведет "1 яблоко"
func(2, "яблоко", "яблока", "яблок"); // выведет "2 яблока"
func(3, "яблоко", "яблока", "яблок"); // выведет "3 яблока"
func(4, "яблоко", "яблока", "яблок"); // выведет "4 яблока"
func(5, "яблоко", "яблока", "яблок"); // выведет "5 яблок"

Вот пример для для двухзначных чисел:

javafunc(11, "яблоко", "яблока", "яблок"); // выведет "11 яблок"
func(12, "яблоко", "яблока", "яблок"); // выведет "12 яблок"
func(21, "яблоко", "яблока", "яблок"); // выведет "21 яблоко"
func(23, "яблоко", "яблока", "яблок"); // выведет "23 яблока"

Наш метод должен работать для чисел любой длины:

javafunc(1223421, "яблоко", "яблока", "яблок"); // выведет "1223421 яблоко"