Răspuns :
Comenturile afiseaza si suma de numere, daca iti trebuie, poti sa folosesti un formatter sau beautifier pentru a intelege textul mai clar
#include <iostream>
#include <vector>
using namespace std;
int fact(int n){
if(n == 0 || n == 1){
return 1;
} else {
return fact(n-1) * n;
}
}
int s_g(int n){
int s = 0;
for(int i = 1; i<=n;++i){
s += i;
}
return s;
}
int main()
{
int n;
cin >> n;
int s = 0;
vector<int> sn;
int prod = 1;
int fac;
bool b_fac = false;
for(int i = 1; i<=n;++i){
if(s_g(i) == n){
b_fac = true;
fac = i;
}
}
int last = 0;
int rl;
if(b_fac == true){
//for(int i = 1; i<=fac;++i){
//cout << i;
//if(i < fac){
//cout << " + ";
//}
//}
//cout << '\n';
prod = fact(fac);
cout << prod << '\n';
} else {
for(int i = 1; i<=n;++i){
if(s < n){
s += i;
sn.push_back(i);
}
}
last = sn[sn.size() - 1];
sn.pop_back();
rl = last - (s - n);
sn.push_back(rl);
prod = 1;
//for(int i = 0;i<sn.size();++i){
//cout << sn[i];
//if(i < sn.size() - 1){
//cout << " + ";
//}
//}
//cout << '\n';
for(int i = 0;i<sn.size();++i){
prod *= sn[i];
}
cout << prod << '\n';
}
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!