Как записать формулу на с++?
как мне записать формулу в с++:
А (в степени n)=2(в степени n)*n! (n факториал)/ n (в степени n)
пожалуста без лишних сообщей только формула
Чтобы записать такую формулу нужно сначала определить функцию возврата факториала числа.
Это можно сделать например через рекурсию, как-то так:
#include <math.h>// чтобы можно было pow() вызывать
int factorial ( int n )
{
if ( n < 1 ) return n ;
else
return n * factorial ( n - 1 ) ;
}
int main ()
{
int a, n ;
...
pow ( a, n ) = pow ( 2, n ) * factorial (n) / pow ( n, n ) ;
...
return 0 ;
}
pow(A, n) = (pow( 2,n )) * ((fakt) / (pow( n, n ))
Здесь степень обозначается число в степени вычисляется функцией pow(), её первый параметр переменная, которую надо возвести в степень, а второй - сама степень))) . Переменная fakt хранит значение факториала, которое нужно вычислить в отдельном месте программы вот таким образом:
fakt = 1; //Эта строчка обязательна, потому что иначе результат будет не правильным (при умножении на ноль получится ноль или просто получится другое число)
for( int i = 1; i <= n_fakt; i++ ) fakt = i * fakt; // Здесь вычисляется цикл, счетчик первоначально равен одному, потому что опять же умножение на ноль. n_fakt ограничивает наш цикл, потому что тому, чему она равна, будет равно повторение цикла а соответственно и вычисление факториала.
Дальше опять находишь степень n числа n функцией pow. Вот так будет выглядеть программа, вычисляющая эту формулу (на всякий случай)
#include<math.h>
#include<conio.h>
#include<iostream.h>
int faktorial(int fakt) //Функция вычисляющая факториал
{
int chislo = 1;
for( int i = 1; i <= fakt; i++ ) chislo = i * chislo;
return chislo; // Возвращаем, чтобы приравнять значение
//этой функции переменной
}
int main()
{
int znach; // Переменная, для хранения значения результата фукции
int A, n;
int p; // хранит значене факториала
cin >> A;
cin >> n;
p = faktorial(n);
znach = pow( 2,n ) * (p / pow( n, n ));
if( znach == pow( A, n ) )
cout << znach << "Является решением уравнения";
else
cout << "Уравнение не имеет решения";
return 0;
}
Для факториала сначала нужно написать функцию вида:
int fact(int i)
{
if(i==0)
return i;
else
{
i=i*fact(i-1);
return i;
}
}
Сама формула примет вид:
pow(A,n)=pow(2,n)*fact(n)*(fact(n)/pow(n,n))
Чтобы компилятор не ругался на pow,подключи библиотеку:
#include <math.h>
Если с math будут косяки, то:
#include <iostream.h>
Косяки исчезнут