folosind metoda divide et impera sa se calculeze n factorial (n!). Multumesc anticipat
Răspunsuri la întrebare
Răspuns de
11
Salut!
#include "stdafx.h"
#include <iostream>
using namespace std;
int DivEtImp(int v[], int li, int ls)
{
if (li == ls)
{
return v[li];
}
else
{
int m = li + (ls - li) / 2;
int a = DivEtImp(v, li, m);
int b = DivEtImp(v, m + 1, ls);
return(a * b);
}
}
int main()
{
int n;
cin >> n;
int *fact = new int[n];
for (int i = 0; i < n; i++)
fact[i] = i + 1;
cout << DivEtImp(fact, 0, n - 1);
return 0;
}
#include "stdafx.h"
#include <iostream>
using namespace std;
int DivEtImp(int v[], int li, int ls)
{
if (li == ls)
{
return v[li];
}
else
{
int m = li + (ls - li) / 2;
int a = DivEtImp(v, li, m);
int b = DivEtImp(v, m + 1, ls);
return(a * b);
}
}
int main()
{
int n;
cin >> n;
int *fact = new int[n];
for (int i = 0; i < n; i++)
fact[i] = i + 1;
cout << DivEtImp(fact, 0, n - 1);
return 0;
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Chimie,
9 ani în urmă