![]() |
|
Модераторы: Poseidon |
![]()
|
|
| Dmi3ev |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 5 Всего: 41 |
Есть двумерный массив целых чисел. (Длина массива вводится)
Нужно посчитать такую интересную сумму n m E E (-1)^(i+j) *a[i][j] i=1 j=1 Все довольно несложно, если бы не некоторые условия Вариант1
вариант2
Оба этих варианта не подходят, а именно: 1) условие в цикле использовать нельзя 2) операцию умножения, деления, возведения в степень тоже использовать нельзя Пока просто туплю и не могу найти алгоритма... Понимаю, что знаки чередуются, но как использовать правильно пока не ясно. -------------------- |
||||
|
|||||
| DarkProg |
|
|||
![]() Законченный романтик ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1784 Регистрация: 11.3.2009 Где: Земля Репутация: нет Всего: 19 |
А у меня есть идея тебе правда нужно два цикла
Вот смотри для массива 4х4 у тебя коэффициенты будут 1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1 Первая идея заключается в том чтобы сложить сначала диагонали с единицей, а потом вычесть сумму диагоналей у которых коэффициент равен -1 Вторая идея заключается в том чтобы начать с ячейки [1,1] и от нее прибавляя шаг 2 по строке сложить числа в этой строке и прибавлять числа помимо [1,3] еще и сразу [3,1] (коэффициент ведь такой же), потом берем и переходим в ячейку [2,2] и делаем тоже самое. А потом начинаем следующий цикл, но там уже отнимаем из имеющейся суммы ячейки [1,2] и так же движемся по строке как и для сложения. Я надеюсь понятны идеи P.S. Просто все уже привыкли решать сложное, а напростоту просто не сообразим что это так просто - это сказал я сам. -------------------- "И твоя голова всегда в ответе за то куда сядет твой зад..." "Я студент - скажите с какого я ВУЗа..." |
|||
|
||||
| TopMan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.11.2009 Где: МО, г. Подольск Репутация: нет Всего: нет |
Честно говоря, вся это система достаточно прозрачна(как с диагоналями, так и с построковым сложением), вся сложность заключается именно в её оформлении, а не понимании
|
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Третья идея заключается в том, чтобы тащить переменную с начальным значением 1, и на каждом витке домножать её на -1, а на неё - очередной элемент.
Идея 4 - использовать домножение на 1 - 2 * ((i+j) mod 2) -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| TopMan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.11.2009 Где: МО, г. Подольск Репутация: нет Всего: нет |
домножать нельзя элементы, если бы было можно, то там есть уже пример даже проще... Вариант 2 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Ну используй 2 цикла с шагом 2.
А цикл по третьей переменной (какой-нить k) с вычислением i и j внутри цикла допустим? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| TopMan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 10.11.2009 Где: МО, г. Подольск Репутация: нет Всего: нет |
пока что вот так решил сделать
Dmi3ev и я одно лицо...
через строку прохожусь Тупо или нет??? Может как-то оптимизировать, просто мои познания в паскале приближаются к 0... |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |