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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2011, 18:58   #1
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию Получить треугольник Паскаля

Получить треугольник паскаля (биноминальные коэффициэнты)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1

Язык Паскаль
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 02.12.2011, 19:17   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
uses
  Crt;
const
  N = 30;
var
  I,J,Nn: Integer;
  A:array[1..N, 1..N] of longint;
begin
  writeln('Input n');
  readln(Nn);
  ClrScr;
  for I:=1 to Nn do
    begin
      A[I,1]:=1;
      A[I,i]:=1;
    end;
  for I:= 3 to Nn do
    begin
      For J:=2 to I-1 do A[I,J]:= A[I-1,J-1]+A[I-1,J];
    end;
  ClrScr;
  for I:= 1 to Nn do
    begin
      for J:=1 to I do Write(a[I,J],' ');
      WriteLn;
    end;
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 02.12.2011, 19:26   #3
McFrey
Форумчанин
 
Аватар для McFrey
 
Регистрация: 15.10.2011
Сообщений: 306
По умолчанию

Огромное спасибо
Если твоя программа выполняет мистические действия, значит, ты сделал что-то невероятно тупое...
McFrey вне форума Ответить с цитированием
Старый 29.09.2020, 08:53   #4
canadamoscow
Пользователь
 
Аватар для canadamoscow
 
Регистрация: 16.05.2020
Сообщений: 57
По умолчанию

Треугольник Паскаля
Мы знаем, что j-я запись в строке line является биномиальным коэффициентом С(line, j),
и все строки начинаются со значения 1. Идея состоит в том, чтобы вычислить С(line, j),
используя C(line, j - 1) . Его можно рассчитать используя следующее.

C(line, j) = line! / ( (line - j)! * j! )

C(line, j - 1) = line! / ( (line - j + 1)! * (j - 1)! )

Из приведенных выше двух выражений мы можем вывести следующее выражение.

C(line, j) = С(line, j - 1) * (line - j) / j

На PascalABC.NET
Код:
begin  
  var n := ReadInteger('Введите кол-во строк треугольника Паскаля на вывод:');
  for var line := 1 to n do
  begin
    var c := biginteger(1); 
    for var j := 1 to line do c := c.Print * (line - j) / biginteger(j); 
    Println;
  end;
end.
canadamoscow вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Треугольник Паскаля vadiprog Помощь студентам 4 02.10.2020 23:44
Треугольник Паскаля на ассемблере mrlis Помощь студентам 0 04.06.2011 13:43
Треугольник Паскаля Kati Помощь студентам 2 12.10.2010 19:07
Треугольник Паскаля. Assembler ser_b Помощь студентам 0 05.06.2010 00:21