|
Вопрос # 1 019/ вопрос открыт / |
|
39. Написать функцию вычисления n!.
40. Написать функцию вычисления n–ного числа Фибоначчи.
 |
Вопрос задала: natasha (статус: Посетитель)
Вопрос отправлен: 27 октября 2007, 11:59
Состояние вопроса: открыт, ответов: 2.
|
Ответ #1. Отвечает эксперт: Dron
Здравствуйте, natasha!
Функцию вычисления факториала можно написать с использованием цикла, либо с использованием рекурсии. Рекурсию лучше не использовать, т.к. в этом случае расход памяти будет гораздо больше, причём чем больше будет аргумент, тем больше выделение памяти. Вот реализация функции с использованием цикла:
function Factorial(N: Integer): LongInt;
var i: integer;
begin
Result:=1;
for i := 2 to N do
Result:=Result*i;
end;
 |
Ответ отправил: Dron (статус: Студент)
Время отправки: 27 октября 2007, 12:16
|
Ответ #2. Отвечает эксперт: Николай Рубан
Здравствуйте, natasha!
Функция вычисления n!.
function fact(n:integer):longint;
var i:integer;
begin
Result:=1;
if n>0 then
for i:=2 to n do Result:=Result*i;
end;
Функция вычисления n–ного числа Фибоначчи.
function Fibonachi(n:integer):integer;
var f1,f2,i:integer;
begin
f1:=1; f2:=1;
Result:=1;
if n>2 then
for i:=3 to n do
begin
Result:=f1+f2;
f1:=f2;
f2:=Result;
end;
end;
Применение выше описанных функций:
ShowMessage(format('Фактириал=%d',[fact(6)]));
ShowMessage(format('Фибоначчи=%d',[Fibonachi(13)]));
Good Luck!!!
 |
Ответ отправил: Николай Рубан (статус: 10-ый класс)
Время отправки: 27 октября 2007, 15:01
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|