**
***&оленьк@& ***

Помогите с принципом программного вычисления факториала.


Я понимаю по какому принципу он убывает до нуля, и там принимает значение 1.Объясните принцип обратного возрастания до конечного значения факториала, по проще если можно.

Pa
Pavel

Откуда такой смешной АЛГОРИТМ вы нарисовали.
Факториал вычисляют по другому.
VAR FACTOR,I,N:INTEGER;

BEGIN
FACTOR:=1;
I:=1
READLN(N) - ПАРАМЕТР ФАКТОРИАЛА

REPEAT
FACTOR:=FACTOR*I;
I:=I+1
UNTIL I>N
WRITELN(FACTOR);
END.

Бекматов
Бекматов

напишу тебе на почту если поставишь лучший ответ

Евгений
Евгений

В данном случае реализуется рекурсивный метод вычисления. Останавливается потому, что в рекурсивных методах обязана быть и всегда есть проверка условия остановки, которая на этом рисунке не показана.
На Паскале функция будет выглядеть так:

function fact(x:integer):integer; begin if x>0 then x:=x*fact(x-1) else x:=1 end;

На С это будет, естественно, выглядеть компактнее:

long fact(int x){return x?x*fact(x-1):1;}

Блок-схемы обычно только мешают пониманию.
А факториал, кстати, можно вычислять и еше проще без рекурсии обычным циклом.

Похожие вопросы
написать программу для вычисления факториала больших чисел
процедуры. Написать процедуру для вычисления факториала натурального числа n. На языке паскаль
В С (не C++) есть стандартная функция для вычисления факториала? Как написать свою я знаю. С этим проблем нет.
вычисление факториала
Вычислите сумму 1!+2!+…+n!, используя функцию вычисления факториала. С++
Помогите вычислить (факториал)
Смена программного обеспечения ПК. Помогите.
Что такое факториал Помогите
Принцип программного управления работой компьютера предполагает:
Помогите решить факториал