values. Выберем из него любой непустой набор элементов (элементы берутся по позициям, порядок не важен) и посчитаем наибольший общий делитель (НОД) выбранных чисел. НОД одного числа — само это число.
Сколько различных значений НОД можно получить, перебрав все непустые наборы?
Наборов экспоненциально много, так что перебирать их не стоит.values=[12, 18, 8] → 6
Одиночные элементы дают 12, 18 и 8; пары — НОД(12, 18) = 6, НОД(12, 8) = 4, НОД(18, 8) = 2; все три — 2. Различных значений шесть: 12, 18, 8, 6, 4, 2.
values=[7, 7, 14] → 2
Любой набор, в котором есть семёрка, даёт 7, а одна 14 даёт 14. Всего два значения.
values=[9] → 1
values=[12, 18, 8]
6
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 101 тест на сервере, включая скрытые.