img img img img img img img img img img img img img img img img img img img img img img
Логотип Человек живет, пока думает.
Решайте задачи и живите долго!
Для участия в проекте необходимо
и достаточно зарегистрироваться!
Rss Регистрация || Вход
Вход
Diofant.ru
Картинка
Отражение Отражение Картинка Картинка
отражение
Лента событий: badfomka решил задачу "Календарь будущего" (Информатика):
+ 3

Задача 290. Максимум в треугольнике

постоянный адрес задачи: http://www.diofant.ru/problem/858/
показать код для вставки на свой сайт >>
Задачу решили: 4
всего попыток: 4
поделиться задачей:

Задача опубликована: 14.06.10 08:00
Прислал: mikev img
Источник: Проект "Эйлер" (http://projecteuler.net)
Вес: 1
сложность: 1 img
баллы: 100
Лучшее решение: Oleg (Олег Пилипёнок)

В числовом треугольнике, составленном из целых чисел, мы хотим найти такой числовой треугольник меньшего размера, чтобы сумма составляющих его чисел была максимальна.
В примере на рисунке красным цветом выделен такой максимальный треугольник. Сумма составляющих его чисел равна 42.


 
Теперь мы хотим решить эту задачу для треугольника побольше. Наш треугольник будет состоять из 1000 строк. Чтобы его заполнить, сгенерируем 500500 псевдослучайных чисел sk в диапазоне от -219 до 219, используя следующий линейно-конгруэнтный генератор псевдослучайных чисел:
t := 0
для k от 1 до 500500:
    t := (615949*t + 797807) (mod 220)
    sk := t-219

Тогда получим: s1 = 273519, s2 = -153582, s3 = 450905,  а исходный треугольник будет выглядеть следующим образом

 s1
ss
3
sss
6
ssss
10
...

Искомый треугольник может начинаться с любого числа и продолжаться сколь угодно далеко вниз, включая в себя два примыкающих элемента из следующей строки, три элемента из строки следующей за нею, и т.д. Определим сумму треугольника как сумму всех входящих в него элементов.
Найдите наибольшую сумму треугольника, для всех треугольников, которые можно построить указанным способом.

 
Пожалуйста, не пишите нам, что Вы не можете решить задачу.
Если Вы не можете ее решить, значит Вы не можете ее решить :-)

Обсуждение Правила >>

Внимание! В обсуждении задачи запрещено публиковать ответы и давать подсказки.
 
Внимание! Если Вы увидите ошибку на нашем сайте, выделите её и нажмите Ctrl+Enter.