Требуется с помощью рекурсии определить можно ли из массива 1..N, в котором лежать целые неотрицательные числа, получить сумму K, если можно суммировать числа только с индексом i+1 или i+3(начинать с 1 элемента массива). Я смог написать метод для любых перемещений по массиву:
public bool CangetSumOfK(int[] data, int k, int index = 0)
{
if (k == 0) return true;
if (k < 0) return false;
if (index >= data.Length) return false;
return CangetSumOfK(data, k, index+1)
|| CangetSumOfK(data, k - data[index], index+1);
}
Как мне его изменить чтобы он работал в моем случае?
return
CangetSumOfK(data, k, index + 1),
|| CangetSumOfK(data, k - data[index], index + 1)
|| CangetSumOfK(data, k, index + 3)
|| CangetSumOfK(data, k - data[index], index + 3);
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости