Другие языки программирования и технологии

написать программу на с++ (windows) и алгоритм для решения последовательности n! перестановок на множестве {1,2...n}

#include <iostream>
#include <Windows.h>
unsigned long long int factorial(unsigned short int n);
int main() {
::SetConsoleTitleW(L"Факториал");
std::cout << "> ";
unsigned short int n;
std::cin >> n;
unsigned long long int fact;
if (fact = factorial(n)) std::cout << n << "! = " << fact;
else std::cout << "Stack overflow!";
std::cout << std::endl;
std::cin.sync();
std::cin.get();
}

unsigned long long int factorial(unsigned short int n) {
unsigned long long int f = 1llu;
switch (n) {
case 0: case 1: break;
case 2: f = 2llu; break;
case 3: f = 6llu; break;
case 4: f = 24llu; break;
case 5: f = 120llu; break;
case 6: f = 720llu; break;
case 7: f = 5040llu; break;
case 8: f = 40320llu; break;
case 9: f = 362880llu; break;
case 10: f = 3628800llu; break;
case 11: f = 39916800llu; break;
case 12: f = 479001600llu; break;
case 13: f = 6227020800llu; break;
case 14: f = 87178291200llu; break;
case 15: f = 1307674368000llu; break;
case 16: f = 20922789888000llu; break;
case 17: f = 355687428096000llu; break;
case 18: f = 6402373705728000llu; break;
case 19: f = 121645100408832000llu; break;
case 20: f = 2432902008176640000llu; break;
default: f = 0llu;
}
return f;
}
AO
Arman Omarov
54 928
Лучший ответ
Big Бах Факториал прекрасен!

Похожие вопросы