Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на Turbo Pascal " круги на воде
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Petya-
Задача «Круги на воде»
На листочке из тетради в клеточку на самой верхней строке записаны целые числа. Следующая строка содержит целые числа, вычисляющиеся по числам из предыдущей строки по определённому правилу. Каждое число является средним арифметическим чисел записанных слева и справа от того, которое находится над ним. Если в клетке ни чего не записано, то считается, что там число «0». Новые строки выписываются до тех пор, пока все образующиеся числа являются целыми.

1:						64				
2: 32 0 32
… 16 0 32 0 16
i: 8 0 24 0 24 0 8
… 4 0 16 0 24 0 16 0 4
2 0 10 0 20 0 20 0 11 0 2




Программы каждого из следующих ниже заданий должны читать из входного файла DATA1.TXT последовательность целых чисел разделенных запятыми. Числа соответствуют некоторой (не известно, какой по счету) строке таблицы. Пустые (содержащие число ноль) клетки с левого и правого конца строки игнорируются. Результаты работы выводятся на экран. Если необходимо вывести несколько чисел, то они выводятся через запятую.
Задание 1. Определите, сколько строк еще можно построить после данной строки.
Задание 2. Определите вид последней строки
Задание 3. Определите, какой максимальный номер может иметь данная строка.
Задание 4. Определите вид предыдущей строки (строки, записанной над данной строкой).
Задание 5. Определите, какое наименьшее количество чисел могло находиться в первой строке.
Задание 6.Определите вид первой строки с наименьшим из всех возможных количеством чисел.
klem4
"верхний" элемент (в твоем примере - 64) всегда является степенью двойки ?
volvo
-Petya-, во-первых, задание неполное... В оригинале картинка вот такая:
Нажмите для просмотра прикрепленного файла

А во-вторых, решается задача через разбиение всех клеток на "нулевые" (выделены красным) и остальные...
Нажмите для просмотра прикрепленного файла
-Petya-
Скажите во что лучше прочитать инфу из файла.
Lapp
Цитата(-Petya- @ 13.01.2007 3:03) *

Скажите во что лучше прочитать инфу из файла.

Ну, например, массив целых.

Меня, вот, какой вопрос интересует: если в вершине стоит 65 - то ни одной строки не получится больше?
Гость
Цитата(Lapp @ 13.01.2007 3:44) *


Меня, вот, какой вопрос интересует: если в вершине стоит 65 - то ни одной строки не получится больше?



Не получится больше ни одной строки. ((число в вершине)+0)/2=первому (целому) числу следующей строки. Итог: числа должны быть парными
klem4
Цитата
Задание 1. Определите, сколько строк еще можно построить после данной строки.


Думаю можно определить по первому числу в строке - столько сколько раз оно еще может разделиться на 2 без остатка

Цитата
Задание 2. Определите вид последней строки


Тут пока приходит на ум только получать подрят все строки до последний , возможно можно иначе ...

Цитата
Задание 3. Определите, какой максимальный номер может иметь данная строка.


Имхо норме строки абсолютно точно определяется через количество нулей между первый и последним ненулевыми числами в строке

(1 - вторая)
(2 - третья)

и т.д.

Цитата
Задание 4. Определите вид предыдущей строки (строки, записанной над данной строкой).


Ну тут по идее тоже проблемы быть не должно, но если что подскажем как сделать

Цитата
Задание 5. Определите, какое наименьшее количество чисел могло находиться в первой строке.


Имхо самый странный вопрос, в первой строке - одно число или нет ?!

Цитата
Задание 6.Определите вид первой строки с наименьшим из всех возможных количеством чисел.


Тоже крайне странно ...

ps хотя если речь идет о картинке оставленной volvo (где в 1 строке 2 числа) то все может обстоять иначе
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.