Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 20:21   #1
daniil123
Пользователь
 
Регистрация: 19.09.2011
Сообщений: 23
По умолчанию Найти сумму

Дан массив натуральных чисел a1, a2,..., an и натуральные числа k и m. Найдите минимальное значение i такое, что a(i)+a(i+1)...+a(i+k)=m(т.е. сумма k+1 подряд идущих элементов массива равна m.
На вход программе сначала подаются значения n, k и m(o<=k<=1000000, n-количество элементов в массиве. В следующей строке входных данных расположены сами элементы массива - целые числа, по модулю не превосходящие 100.
Выведите минимальное искомое i. Если такого значения нет, то выведите 0.
Пример:
Вход:8 1 5
Выход:4 0 5 0 3 2 3 3
daniil123 вне форума Ответить с цитированием
Старый 07.12.2011, 01:44   #2
Leshii
Форумчанин
 
Регистрация: 26.07.2011
Сообщений: 376
По умолчанию

Спрошу так, а что сделал ты сам?
Люблю на ты.Я человек простой
Leshii вне форума Ответить с цитированием
Старый 07.12.2011, 06:46   #3
Zer0
Форумчанин
 
Аватар для Zer0
 
Регистрация: 13.12.2007
Сообщений: 788
По умолчанию

Цитата:
На вход программе сначала подаются значения n, k и m...
В следующей строке входных данных расположены сами элементы массива...
Выведите минимальное искомое i...
Цитата:
Вход:8 1 5
Выход:4 0 5 0 3 2 3 3
Вы точно ничего не перепутали?
благодарность - сюда (не забываем писать от кого)
Zer0 вне форума Ответить с цитированием
Старый 07.12.2011, 22:04   #4
daniil123
Пользователь
 
Регистрация: 19.09.2011
Сообщений: 23
По умолчанию

Препутал,
на входе:8 1 5
4 0 5 0 3 2 3 3
Выход:
2
daniil123 вне форума Ответить с цитированием
Старый 07.12.2011, 22:48   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ну, с массивом всё вообще просто.
интересно эту задачу решить БЕЗ использования массива.

а решение, когда числа в массиве я примерно сейчас набросаю..
проверка и доводка до ума - на вашей совести..
Код:
ReadLn(n, k, m);
for i:=1 to n do
   Readln(A[i]);

for i:=1 to n-k do begin
   sum := 0;
   for j:=i to i+k do sum := sum + A[j];
   if sum = m then begin WriteLn(i); Break; end;
end;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму ряда Александр Бутырин Общие вопросы C/C++ 3 13.04.2011 22:11
найти сумму ряда в си fidot Помощь студентам 3 30.03.2011 22:28
Найти сумму ряда 11111 Помощь студентам 14 01.11.2010 19:55
Найти сумму элементов Asylkhan Паскаль, Turbo Pascal, PascalABC.NET 2 20.06.2010 23:32
Найти сумму Joker<777> Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2010 13:01