برنامه مثلث خوارزمی به زبان پاسکال

western

Member
مثلث پاسکال-خوارزمی

سلام
برنامه ای که خواسته بودید اینجوری میشه دوست من

تعداد سطرها رو تو ورودی میگیره و مثلث رو چاپ میکنه، تو این برنامه حداکثر تعداد سطرها رو 13 گذاشتم
البته برای سطرهای بیشتر محاسبه زمانبر میشه و چون اعداد تو فاکتوریل گیری خیلی بزرگ میشن دیگه نوع longint جوابگو نیست.

کد:
PROGRAM pascal;

VAR
  n:integer;
  r,c:integer;

FUNCTION fact(x:integer) : longint;
var
  i:integer;
  f:longint;
begin

if (x = 0) or (x = 1) then
fact := 1
else
begin
f := 1;
for i := 1 to x do
begin
f := f * i;
fact := f;
end;
end;
end;


BEGIN
write ('Enter number of rows (Max = 13) : ');
readln (n);

if (n < 1) or (n > 13) then
writeln ('out of range')
else
begin
writeln;
for r := 0 to n-1 do
  begin
  for c := 0 to r do
     write (int((fact(r))/(fact(c)*fact(r-c))):5:0);
  writeln;
  end;
end;
readln;
END.
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا