A1031

Задача. Получить все перестановки элементов 1, …, 6.

Решение

Все перестановки считаются и выводятся с помощью рекурсивной функции perestanovka().

Когда в ней складывается новый набор элементов, проверяем что бы в нем не было повторяющихся значений (считаем факториал и сумму, они должны совпадать со стандартом (6! = 720,  1+2+3+4+5+6 = 21) и тогда выводим.

Что бы убедиться, что выведено правильное количество перестановок, выводим в конце значение счетчика cnt (находится внутри функции perestanovka()) и требуемое значение перестановок ( 6! = 720). Эти значения совпадают.

А на Java решение выглядит так:
 

Related Images:

3 thoughts on “A1031

  1. — «perestanovka» категорически против использования транслитерации русских слов в именах. Представьте, что Вам достался код написанный индийцев. Каково Вам будет разбираться с его транслитерациями?
    — Мы уже не на первом курсе и понимаем, нужно поменять подход. Что это за рекурсивное вычисление суммы арифметической прогрессии? Найдите способ не вычисляя факториала.

Добавить комментарий