Учитывая последовательность OEIS A033581 , которая является бесконечной последовательностью, n -й член (0-индексация) задается формулой 6 × n 2 в замкнутой форме .
Ваша задача - написать код, который выводит все подмножества набора из N первых чисел в последовательности так, чтобы сумма подмножества была идеальным квадратом.
правила
- Целое число
N
дается в качестве ввода. - Вы не можете повторно использовать число, уже использованное в сумме. (то есть каждое число может появляться в каждом подмножестве не более одного раза)
- Используемые числа могут быть непоследовательными.
- Код с наименьшим размером выигрывает.
пример
Данная последовательность: {0,6,24,54,96, ..., 15000}
Один из обязательных подмножеств будет {6,24,294}, потому что
6+24+294 = 324 = 18^2
Вам нужно найти все такие наборы всех возможных длин в заданном диапазоне.