Определите, можно ли составить заданное число как сумму нескольких подряд идущих элементов массива. - C#

Узнай цену своей работы

Формулировка задачи:

В консольном приложении за минимальное число действий реализуйте указанную задачу, используя одномерный массив 15 целых чисел. Массив инициализируется константами. Дан неубывающий массив положительных целых чисел. Определите, можно ли составить заданное число как сумму нескольких подряд идущих элементов этого массива.

Решение задачи: «Определите, можно ли составить заданное число как сумму нескольких подряд идущих элементов массива.»

textual
Листинг программы
static bool CanSumTo(uint[] arr, uint n)
{
    uint sum = arr[0]; int seqStart = 0;
    int i = 1;
    while (sum < n && i < arr.Length && arr[i] <= n)
    {
        if (arr[i] == n)
            return true;
 
        if ((sum += arr[i++]) > n)
            while (seqStart < i && sum > n) sum -= arr[seqStart++];
    }
    return sum == n;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы