Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- type
- LongNumber = record
- data: array [1..100] of byte;
- length: longint;
- end;
- var
- pascal_pyramid: array [1..1000, 1..1000] of LongNumber;
- n, i, j: longint;
- function create(): LongNumber;
- var
- result: LongNumber;
- begin
- result.data[1] := 1;
- result.length := 1;
- create := result;
- end;
- procedure print(value: LongNumber);
- var
- i: longint;
- begin
- for i := value.length downto 1 do
- write(value.data[i]);
- end;
- function sum(a, b: LongNumber) : LongNumber;
- var
- length, i, s: longint;
- result: LongNumber;
- begin
- if a.length > b.length then
- length := a.length
- else
- length := b.length;
- result.length := length;
- for i := 1 to length + 1 do
- result.data[i] := 0;
- for i := 1 to length do
- begin
- s := a.data[i] + b.data[i];
- result.data[i] := result.data[i] + s;
- s := result.data[i];
- result.data[i] := s mod 10;
- result.data[i + 1] := s div 10;
- if (i = length) and (s > 9) then
- inc(result.length);
- end;
- sum := result;
- end;
- begin
- read(n);
- n := n + 1;
- for i := 1 to n do
- begin
- pascal_pyramid[i, 1] := create();
- pascal_pyramid[i, i] := create();
- for j := 2 to i - 1 do
- pascal_pyramid[i, j] := sum(pascal_pyramid[i - 1, j - 1], pascal_pyramid[i - 1, j]);
- end;
- for i := 1 to n do
- begin
- for j := 1 to i do
- begin
- print(pascal_pyramid[i, j]);
- write(' ');
- end;
- writeln;
- end;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement