Автор Vinsent Takesi задал вопрос в разделе Другие языки и технологии
Надо алгоритм нахождения факториала на с++ и получил лучший ответ
Ответ от Николай Веселуха[гуру]
#include <iostream>int factorial(int n) { int val = 1; for (int i = 1; i <= n; val *= i, ++i); return val; }int main() { std::cout << factorial(7) << std::endl; std::cin.get(); }//====================================================#include <iostream>int factorial(int n) { return (n == 0) ? 1 : n * factorial(n - 1); }int main() { std::cout << factorial(7) << std::endl; std::cin.get(); }//====================================================#include <iostream>template<int n> struct factorial { enum { val = factorial<n - 1>::val * n }; };template<> struct factorial<0> { enum { val = 1 }; };int main() { std::cout << factorial<7>::val << std::endl; std::cin.get(); }//====================================================#include <iostream>template<int n> class factorial { public: static const int val = factorial<n - 1>::val * n; };template<> class factorial<0> { public: static const int val = 1; };int main() { std::cout << factorial<7>::val << std::endl; std::cin.get(); }
$x = 10; // Считаем факториал числа 10
if ($x < 0) $f "Факториал числа <b>$x</b> не существует";
else {
$f = 1;
for ($i = 1; $i <= $x; $i++)
$f *= $i;
}
echo $f;
На c++ не знаю, но вот на php
int factorial(int num) // через рекурсию
{
if (num == 1)
{
return num;
} else {
return num * factorial(num - 1);
}
}
Можно еще проверочку, не передали ли число = 0 седлать не пере вызовом ф-ии, а в нейже.
это как хошь. я не стал.