Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Золотая пирамида или пирамида Паскаля

6.2K
03 октября 2007 года
iq13
28 / / 03.12.2005
Нужен код на VBA золотой пирамиды, она же пирамида Паскаля. Смысл задачи следующий: пользователь вводит целочисленное число, программа выводит всевозможные варианты сумм цифр образующих это число. Например, пользователь ввёл цифру 4, программа выводит:
1+1+1+1
1+1+2
1+3
2+2
1.6K
03 октября 2007 года
Shtirlitz
145 / / 31.07.2006
На Delphi (консоль) программа использующая рекурсивную процедуру выглядит так:
Код:
program decomp;
{$APPTYPE CONSOLE}
uses
  SysUtils;
var
mas: array[1..40] of byte;
N,sum,step: byte;
{-----------------------------------------------------------}
Procedure next(step,pred: byte);
var
i: byte;
begin
If sum=0 then begin
  write(mas[1]);
  for i:=2 to step-1 do
    write('+','',mas);
    If mas[1]>1 then
      writeln;
  mas[step-1]:=0;
end else
  for i:=pred downto 1 do begin
    If sum-i>=0 then begin
      mas[step]:=i;
      sum:=sum-i;
      next(step+1,i);
      sum:=sum+i;
    end;
  end;
end;
{-----------------------------------------------------------}
procedure file_read();
begin
assign(input,'decomp.in');
reset(input);
assign(output,'decomp.out');
rewrite(output);
end;
{-----------------------------------------------------------}
begin
file_read();
read(N);
sum:=N;
step:=1;
N:=N-1;
next(step,N);
end.


Надеюсь поможет...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог