Факториал в C++

Конструктор копирования в C++ Программирование и разработка

Факториал любого числа — это произведение всех положительных целых чисел-потомков. Факториал обычно используется в смесях и вариациях. Отрицательные числа не имеют факториала. Например, 1 — это факториал 0. Факториал обозначается символом ’!’. Когда пользователь вводит целое число, все числа должны быть умножены на это конкретное число. Факториал можно определить с помощью циклов for. Когда мы инициализируем его 0, мы получаем 0 в результате, а когда мы не инициализируем, мы получаем правильный ответ, но если переменная содержит мусорное значение, мы не можем получить правильный ответ. Итак, предлагается инициализировать факториал с 1. В C++ существует множество способов узнать факториал различных целых чисел. Давайте обсудим так. Для выполнения кодов используется DEV C++. Пишем на нем следующие коды и запускаем их.

Определите факториал числа с помощью рекурсии

Мы можем получить факториал любого числа, используя метод рекурсии. В этом примере мы берем любое число от пользователя, а затем вычисляем факториал этого заданного числа. Мы включаем заголовочный файл следующим образом.

#include<iostream>

using namespace std;

int factorial(int x);

int main()
{
int x;

cout <> x;

cout << «Factorial of « << x << » = « < 1)
return x * factorial( 1);
else
return 1;
}

Допустим, мы вводим в программу число «12» по требованию, метод factorial() принимает это целое число только в качестве аргумента. Эта функция умножает 12 на факториал (12-1 = 11). Для этого число «11» передается обратно в метод factorial(). Точно так же в следующем повторении умножьте 11 на факториал (11-1 = 10). Затем метод factorial() получает значение 10 в качестве параметра. Этот процесс длится до тех пор, пока значение не расширится до 1 и не вернет 1. Теперь каждая функция возвращает значение для вычисления факториала, которое возвращается к функции main().

Для этого число «11» передается обратно в

Пользователь вводит число 12, а затем получает факториал этого числа.

Использовать для цикла

Определяем факториал целого числа с помощью цикла for. Давайте посмотрим, что происходит в приведенном ниже коде. Мы включаем заголовочный файл в начале. После этого мы используем пространство имен std. Мы объявили три переменные. Переменные «a» и «j» имеют целочисленный тип данных. Затем мы используем функцию cout, чтобы получить положительное целое число от пользователя. Это целое число хранится в переменной ’a’. Здесь мы вводим число «9».

#include<iostream>

using namespace std;
int main()
{
int a, j, factorial=1;
cout<>a;
for(j=a; j>=1; j)
factorial = factorial*j;
cout<<«\nFactorial = «<<factorial;
cout<<endl;
return 0;
}

Теперь, после получения целого числа от пользователя, начнется оценка цикла for. Значение переменной ’a’ (9) инициализируется переменной ’j’. Следовательно, j = 9. Секция инициализации цикла for реализуется первой, но только один раз. Состояние j> = 1 или 9> = 1 оценивается как истинное, поэтому выполнение программы зацикливается, и factorial * j или 1 * 9 или 9 инициализируется как factorial. Поток программы переходит к третьей части цикла, и значение ’j’ уменьшается. Следовательно, j = 4. Снова оценивается условие j> = 1. Условие оценивается каждый раз, и значение ’j’ обновляется. И после каждой оценки условия программа внутри цикла выполняется до тех пор, пока условие не станет ложным. Итак, когда условие ложно, мы получаем значения «j» и «факториал» после каждой оценки. Значение факториала извлекается в конце цикла. И это приведет к факториалу указанного числа.

Значение факториала извлекается в конце цикла

Пользователь вводит число «9», а затем нажимает клавишу Enter, чтобы получить факториал 9.

Use While Loop

Другой способ найти значение факториала — использовать цикл while. В этот код мы включаем заголовочный файл . Мы принимаем переменную «m» как имеющую тип данных integer. Мы также применили условие «если». Он возвращает 1, если значение ’m’ эквивалентно 0. После этого мы берем больше переменных. Нам нужно инициализировать эти переменные перед циклом while.

#include <iostream>

using namespace std;

unsigned int factorial(unsigned int m)
{
if(m==0)
return 1;
int k = m, factorial = 1;
while (/ k != m) {
factorial = factorial * k;
k—;
}
return factorial;
}

int main()
{
int n = 16;
cout << «Factorial of the number «
<< n<< » is «
<< factorial(n) << endl;
return 0;
}

Мы используем оператор while для реализации итерационной структуры, когда операции неизвестны, и итерация длится до тех пор, пока условие проверки не станет истинным. После реализации оператора while компьютер сначала оценивает данное тестовое условие. Если это условие истинно, выполняется тело цикла. После выполнения тела цикла снова оценивается тестовое условие, и, если оно истинно, тело цикла запускается еще раз. Эта процедура продолжается до тех пор, пока заданное тестовое условие не станет ложным. Если false, управление передается первому объявлению после окончания тела цикла. Тело цикла содержит только один оператор или несколько операторов.

Затем мы берем число «16», чтобы найти факториал. Это число обозначается переменной ’n’.

Затем мы берем число «16», чтобы найти

После запуска вышеупомянутого кода мы получаем на выходе факториал 16.

Заключение

В этой статье объясняются методы нахождения факториала числа. Мы умножили все неотрицательные целые числа, которые меньше или эквивалентны этому числу, чтобы получить факториал этого числа. Для неотрицательных чисел всегда определяется факториал. Чтобы получить факториал положительных целых чисел, мы используем цикл for и цикл while. Для этой цели мы также использовали метод рекурсии.

Читайте также:  Python Math Sqrt
Оцените статью
bestprogrammer.ru
Добавить комментарий