int ProdTree(int l, int r) { if (l > r) return 1; if (l == r) return l; if (r - l == 1) return (int)l * r; int m = (l + r) / 2; return ProdTree(l, m) * ProdTree(m + 1, r); }
int FactTree(int n) { if (n < 0) return 0; if (n == 0) return 1; if (n == 1 || n == 2) return n; return ProdTree(2, n); }
int main () { for(int i = 1; i <= 10; i++) { cout << FactTree(i) << endl; }
#include <iostream> #include <iomanip> int main() { int i, f = 1; for (i = 1; i <= 10; i++) { f *= i; std::cout << std::setw(2) << i << ") " << f << std::endl; } system("pause > nul"); }