Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stdio.h>
- #include <string>
- using namespace std;
- int counter = -1;
- string s= "";
- int Fct(int n){
- // Записване на аргумента в променлива за извеждане на резултата от факториел.
- int fct_result = n;
- // При първо извикване на функция ще запише в "s" аргумент "n" + " факториел е: ".
- if(counter == -1){
- s += to_string(n) + " факториел е: ";
- }
- counter++; // Смятане на итерации за намиране на дъно и първо извикване.
- // Записване в променлива резултата от премножаване на променлива
- // с резултата на извикан факториел.
- if(n > 0){
- s += to_string(n) + "*"; //записване в "s" всички числа от n до 1.
- fct_result *= Fct(n-1);
- }else{
- fct_result = 1;
- }
- // Обнуляване на глобални променливи и записване в "s" " и това прави " + резултат
- // при аргумент "n" предаден при първо извикване.
- if(counter == n){
- s.pop_back(); // Махвае на последна "*".
- s += " и това прави " + to_string(fct_result); // Записване в "s" резултата.
- cout << s << endl;
- // Обнуляване на глобални променливи.
- counter = 0;
- s = "";
- }
- return fct_result;
- }
- int main(){
- int n;
- cin >> n;
- Fct(n);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement