IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> помогите с пожалуйста с хитрой задачей !
Vania
сообщение 1.12.2006 18:51
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской

Репутация: -  0  +


ну, хоть убей не могу решить!
Дана непустая последовательность X ненулевых целых чисел, за которой следует 0. Вычислить величину:
s=(n-1)*x1+n*x2+..+3*xn-1+2*xn+1
ВЫЧИСЛЕНИЯ проводятся БЕЗ ХРАНЕНИЯ ПОСЛЕДОВАТЕЛЬНОСТИ ЗНАЧЕНИЙ(без массива и т.п)
последовательность задом-наперед вводить нельзя!!!
помогите пожалуйста!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Vania
сообщение 1.12.2006 21:41
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 30
Пол: Мужской

Репутация: -  0  +


вот картинка:


Эскизы прикрепленных изображений
Прикрепленное изображение
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Michael_Rybak
сообщение 1.12.2006 22:00
Сообщение #3


Michael_Rybak
*****

Группа: Модераторы
Сообщений: 1 046
Пол: Мужской
Реальное имя: Michael_Rybak

Репутация: -  32  +


Будем все время хранить не только результат, но и сумму иксов.

Давай на примере пяти элементов X1 = a, X2 = b, X3 = c, X4 = d, X5 = e

Код

Шаг 0. sum = 0,                 res = 1
Шаг 1. sum = a,                 res = 2a + 1
Шаг 2. sum = a + b,             res = 3a + 2b + 1
Шаг 3. sum = a + b + с,         res = 4a + 3b + 2с + 1
Шаг 4. sum = a + b + с + d,     res = 5a + 4b + 3с + 2d + 1
Шаг 5. sum = a + b + с + d + e, res = 6a + 5b + 4с + 3d + 2e + 1

Заметим, что очередное значение res выражается через предыдущее res и текущее sum:

Код
Шаг 0. sum0 = 0,                 res0 = 1
Шаг 1. sum1 = a,                 res1 = 2a + 1                     = res0 + sum1 + a
Шаг 2. sum2 = a + b,             res2 = 3a + 2b + 1                = res1 + sum2 + b
Шаг 3. sum3 = a + b + с,         res3 = 4a + 3b + 2с + 1           = res2 + sum3 + c
Шаг 4. sum4 = a + b + с + d,     res4 = 5a + 4b + 3с + 2d + 1      = res3 + sum4 + d
Шаг 5. sum5 = a + b + с + d + e, res5 = 6a + 5b + 4с + 3d + 2e + 1 = res4 + sum5 + e


Отсюда понятно, как обойтись четырьмя переменными: sum, res, new_sum и new_res.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 21.07.2025 11:33
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"