Помогите составить блок схему факториала N По идее должноформула такова n! = 1*2*3*4*5*...*(n - 2)(n - 1)n Но как это вывести в блок схему не могу понять
Здравствуйте ! Знаю , ноне могу найти именно цикл правильно . Или я что то не понимаю. Можете прикрепить скрин ? Схемы которая по вашему мнению правильна?
Вот блок-схема:Только она как раз не совсем правильная, так как не учитывает случай N=0, при котором N!=1. Но зато для натуральных N она вроде правильная...
Ксения Райт
Гений
(97433)
Ajara Arapova, k в данном случае - счётчик параметрического цикла от 1 до N включительно. Но по-моему для быстрого вычисления факториала лучше итерационный цикл подойдёт как, например, на Паскале:
var N: integer; F: int64 = 1;
begin write('N = '); readln(N);
write(N, '! = '); while N > 0 do
begin F := F * N; N := N - 1 end;
writeln(F) end.
И ещё есть один существенный момент: N! с ростом N возрастает очень быстро, поэтому в большинстве языков при N>20 он просто-напросто не впишется в стандартные целые типы (unsigned long long в C/C++, ulong в C# или int64 во FreePascal"e, поэтому надо будет изобретать что-нибудь особое. А как такие частности (и между прочим чрезвычайно существенные частности !) показывать на блок-схемах я не знаю...
По идее должноформула такова n! = 1*2*3*4*5*...*(n - 2)(n - 1)n
Но как это вывести в блок схему не могу понять