Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.77 KB | None | 0 0
  1. <?php
  2.  
  3. // Вариант с рекурсивным подсчетом не подходит, так как мы упремся в INF.
  4. // Поэтому используем функцию bcmul() из встроенной библиотеки BC Math,
  5. // которая поддерживает операции с числами любого размера и точности.
  6. // Собственно факториал это произведение всех чисел от 1 до $fack
  7. function fackalk($fack)
  8. {
  9.     $result = 1;
  10.  
  11.     foreach (range(1, $fack) as $current) {
  12.         $result = bcmul("$result", "$current");
  13.     }
  14.  
  15.     return $result;
  16. }
  17.  
  18. if ($_GET['fack'] < 1 || $_GET['fack'] > 1000) {
  19.     exit();
  20. } else {
  21.     echo fackalk($_GET['fack']);
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement