Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2012, 21:01   #21
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Задача лесенка
Цитата:
Лесенкой называется набор кубиков, в котором каждый
более верхний слой содержит кубиков меньше, чем преды-
дущий. Требуется написать программу, вычисляющую число
лесенок, которое можно построить из N кубиков.

Я попробывал, но не смог
Вот попытка:
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

function Stairs(Blocks_Count,Blocks_In_Base:word):longword;
var BlocksInNewBase:word;
begin
  BlocksInNewBase:=1;
  result:=0;
  if (Blocks_Count = 0)or (Blocks_Count shl 1> Blocks_In_Base*(Blocks_In_Base-1))   then exit;
  result:=1; // всегда есть возможность выложить вообще в один слой все блоки
  while BlocksInNewBase*(BlocksInNewBase-1)<(Blocks_Count-BlocksInNewBase)shl 1 do
       begin
          inc(BlocksInNewBase);
          if BlocksInNewBase>=Blocks_In_Base then exit;
       end;
  for BlocksInNewBase:=BlocksInNewBase to Blocks_In_Base-1 do
     inc(result,Stairs(Blocks_Count-BlocksInNewBase,BlocksInNewBase));

  writeln('     Blocks_Count ----- ',Blocks_Count);
  writeln('     Blocks_In_Base --- ',Blocks_In_Base);
  writeln('     Result ----------- ',result);
end;
var n:Word;
begin
    readln(n);
    for n:=1 to n do
    writeln(n, '-------',stairs(n,n+1),#13#10#13#10#13#10#13#10);
    readln;
end.
Подскажите правильное решение, Пожалуйста
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
А почему нет темы об олимпиаде-2012 в Лондоне?.. mv28jam Свободное общение 60 13.08.2012 19:48
Задачи по олимпиаде Darick Помощь студентам 7 23.12.2011 15:45
задача на олимпиаде была klubkov Помощь студентам 0 24.10.2011 18:06
Дали детям две задачки на олимпиаде по информатике O_O Каля-маля Помощь студентам 8 10.11.2008 17:29
Как подготовиться к олимпиаде? Kn793 Помощь студентам 16 26.07.2008 12:22