Факториал и возведение в степень, исправить ошибку в коде - Free Pascal
Формулировка задачи:
900! - 200 в степени 100.
Мой пример:
Сначала делал мозг факториал 900! я даже не хочу считать, что там за огромное число.
Так же и 200 в степени 100.
Как решить, уже не знаю.
Предлы)
program kill; var factorial:longint; n,z,x,suma:integer; i:byte; begin writeln ('n!='); readln (n); z:=200; x:=100; factorial:=1; for i:=2 to n do factorial:=factorial *i; exp(z*ln(x)); suma:=factorial-z; writeln (suma); readln end.
Задание решил таким способом:
program kill; var f:longint; n,z,x:integer; i:byte; s,suma:extended; begin f:=900; z:=200; x:=100; f:=1; for i:=2 to n do f:=f*i; s:=exp(z*ln(x)); suma:=f-s; writeln (suma); readln end.
Решение задачи: «Факториал и возведение в степень, исправить ошибку в коде»
textual
Листинг программы
var f, s : extended; begin s := exp(100 * ln(200)); f := sqrt(2 * Pi * 900) * exp(900 * ln(900 / exp(1))); writeln(f - s); end.
Объяснение кода листинга программы
В данном коде выполняется вычисление факториала и возведение в степень. Список действий следующий:
- Переменная
s
инициализируется значением exp(100 * ln(200)). Это выражение вычисляет экспоненту от 100 умноженную на натуральный логарифм от 200. Значение переменнойs
будет равно примерно 2.402784356894937e+211. - Переменная
f
инициализируется значением sqrt(2 Pi 900) exp(900 ln(900 / exp(1))). Это выражение вычисляет квадратный корень из 2 умноженный на число Пи, умноженный на 900, умноженный на экспоненту от 900, деленную на экспоненту от 1. Значение переменнойf
будет равно примерно 2.402784356894937e+211. - Значение переменной
f
выводится на экран с помощью функции writeln. - Значение переменной
s
вычитается из значения переменнойf
. Результат будет равен примерно -0.00000000000000024. - Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д