На паскале есть стандартная функция вачисления факториала?
Может у кого есть електронный справочник по паскалю.
Помогите, плз. РГР'ка горит.
Не у меня нету я в нём ни фега не шарю, вот в qBasic чуть чуть понимаю! :huh: :huh:
На паскале есть стандартная функция вачисления факториала?
Может у кого есть електронный справочник по паскалю.
Помогите, плз. РГР'ка горит.
попробуй так
function n(x:integer):integer;
i:integer;
n=1;
for i=1 to x do n:=i*n;
end;
проверить не могу, т.к. у меня паскаль на winXP х64 не работает
попробуй так
function n(x:integer):integer;
i:integer;
n=1;
for i=1 to x do n:=i*n;
end;
проверить не могу, т.к. у меня паскаль на winXP х64 не работает
Забыл кое что
function factorial(n:integer):longint;
var i:integer;h:longint;
begin
h:=1;
for i:=2 to n do h:=h*i;
factorial:=h;
end;
Спосиб, помогло
Просто я думал может там стандартная функция есть. Но можно и так.
проверить не могу, т.к. у меня паскаль на winXP х64 не работает
Как так? И че такое х64?
У меня под XP идет B)
Спосиб, помогло
Как так? И че такое х64?
У меня под XP идет B)
64-битная версия
Забыл кое что
function factorial(n:integer):longint;
var i:integer;h:longint;
begin
h:=1;
for i:=2 to n do h:=h*i;
factorial:=h;
end;
Можно еще проще при помощи рекурсии:
function factorial(n: integer): integer;
begin
if n>1
then factorial:=n*factorial(n-1)
else factorial:=1;
end;
Можно еще проще при помощи рекурсии:
function factorial(n: integer): integer;
begin
if n>1
then factorial:=n*factorial(n-1)
else factorial:=1;
end;
Как раз проще первый метод (рекурсия занимает больше места в памяти) =) хотя в данном случае это наверняка имеет значение )