3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
|
1 | |
Найти индекс элемента списка сумма которого и k следующих элементов равна заданной16.03.2016, 20:23. Показов 10676. Ответов 18
Метки нет (Все метки)
Дан массив целых чисел a[1], a[2], ..., a[n] и натуральные числа k и m. Укажите минимальное значение i, для которого a[i] + a[i+1] + ... + a[i + k] = m (то есть сумма k + 1 подряд идущих элементов массива равна m). Если такого значения нет, то выведите 0. Вложенные циклы не использовать.
Входные данные На вход программе сначала подаются значения n, k и m (m <= 10000, 0 < k < n <= 30000; n - количество элементов в массиве). В следующей строке входных данных расположены сами элементы массива - целые числа, по модулю не превосходящие 100. Выходные данные Выведите ответ на задачу. Примеры входные данные 4 1 22 9 13 10 -11 выходные данные 1 Помогите пожалуйста решить
0
|
16.03.2016, 20:23 | |
Ответы с готовыми решениями:
18
Найти строки матрицы, где есть эл-т для которого сумма предшествующих равна сумме следующих за ним элементов Найти индекс элемента, для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов Найти в массиве индекс элемента для которого сумма элементов, которые стоят до него Задан массив. Найти в нем индекс элемента, для которого сумма элементов, стоящих до него, наименее отличается от суммы Найти индекс элемента для которого сумма элементов, стоящих перед ним, наименее отличается от суммы элементов, стоящих п |
3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
|
17.03.2016, 15:47 [ТС] | 3 |
Вообще ничего, даже не знаю с чего начать
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
17.03.2016, 17:33 | 4 |
Начинают со считывания данных, потом перебор массива с вычислением суммы и сравнением с заданным значением.
0
|
3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
||||||
18.03.2016, 22:40 [ТС] | 5 | |||||
Мой вариант:
0
|
298 / 256 / 57
Регистрация: 11.06.2012
Сообщений: 1,557
|
||||||
19.03.2016, 01:30 | 6 | |||||
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||
19.03.2016, 11:29 | 7 | |||||
OnikS228, в первой строке можно не использовать генератор, т.к. split уже возвращает список
min будет перебирать до конца списка и в общем случае это не здорово — нужно ведь только одно 1-е значение.Если k достаточно большое то имеет смысл рассчитать сумму элементов сразу от 1-го, а потом при каждой итеррации изменять уже полученную сумму (отнимать a[i-1] и добавлять a[i+k])
0
|
3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
|||||||||||
19.03.2016, 14:27 [ТС] | 8 | ||||||||||
0
|
3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
|
20.03.2016, 16:12 [ТС] | 9 |
АКТУАЛЬНО
0
|
39 / 39 / 25
Регистрация: 25.10.2015
Сообщений: 102
|
||||||
20.03.2016, 17:20 | 10 | |||||
Вы в первом своем варианте зря затащили i в строку 3. Первая сумма: s = sum(a[:k+1]). А во втором варианте, сумма постоянно будет увеличиваться за счет прибавления нового члена.
0
|
3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
|
20.03.2016, 17:28 [ТС] | 11 |
теперь стали все правильными, кроме одного(
0
|
39 / 39 / 25
Регистрация: 25.10.2015
Сообщений: 102
|
||||||
20.03.2016, 18:02 | 12 | |||||
в строке 4 не до конца проходит цикл, там должно быть range(n - k)
0
|
3 / 2 / 0
Регистрация: 23.01.2016
Сообщений: 98
|
|
20.03.2016, 18:18 [ТС] | 13 |
Хах, теперь ещё меньше правильных
Добавлено через 7 минут Но теперь не "неправильный ответ", а "ошибка во время исполнения программы"
0
|
39 / 39 / 25
Регистрация: 25.10.2015
Сообщений: 102
|
||||||
20.03.2016, 18:24 | 14 | |||||
ну ищите "мелочи" в оформлении, идея Marinero стопудово классная
попробуйте сместить print(0) в for
0
|
4937 / 3290 / 1140
Регистрация: 21.03.2016
Сообщений: 8,069
|
|||||||||||
21.03.2016, 17:33 | 15 | ||||||||||
OnikS228, в первой строке можно не использовать генератор, т.к. split уже возвращает список.
так то оно так но список то строк тип str возвращает а нам в решении числа нужны тип int и потом их преобразовывать в int лишние движения.так что генератор оправдан сразу получаем числа Добавлено через 3 часа 1 минуту этот код вообще ни о чем. что вы пытаетесь найти?
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||
22.03.2016, 12:23 | 16 | ||||||||||
Конечно же
0
|
4937 / 3290 / 1140
Регистрация: 21.03.2016
Сообщений: 8,069
|
|
22.03.2016, 14:50 | 17 |
пардон. не досмотрел.хотя при данных 4 2 22 9 13 10 -11 а так же 4 3 22 9 13 10 -11 результат 0 хотя 13+10+(-11) и есть 22 тут уж и два подряд идущих и три проверял.может что то недопонимаю в условии???
0
|
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
22.03.2016, 17:01 | 18 |
Semen-Semenich, когда это 13 + 10 = 23 - 11 = 12 стало равно 22?
0
|
4937 / 3290 / 1140
Регистрация: 21.03.2016
Сообщений: 8,069
|
|
22.03.2016, 17:20 | 19 |
прошу простить и понять сонный еще был((
0
|
22.03.2016, 17:20 | |
22.03.2016, 17:20 | |
Помогаю со студенческими работами здесь
19
Массив: Найти индекс элемента, для которого сумма элементов, стоящих до него наименее отличается от суммы элементов, стоящих после. Найти в массиве индекс элемента, для которого сумма элементов, стоящих до него, наименее отличается от суммы элементов, стоящих после него Найти индекс элементов, сумма которых равна заданному числу Найти первый столбец матрницы, сумма элементов которого равна сумме элементов первой строки Найти сумму элементов матрицы, сумма индексов которых равна заданной константе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |