Показать сообщение отдельно

  #10  
Старый 22.04.2009, 21:20
astrologer
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
С нами: 9840758

Репутация: 808


По умолчанию

Вообще-то, для этого не нужно считать факториал.
Количество нулей можно найти хоть на бумажке, т.к. ноль образуется из произведения 2 * 5, двойки всегда в избытке.
PHP код:
function countZeroes($n)
{
  
$base   5;
  
$power  1;
  
$amount 0;

  while(
$power $n)
  {
    
$amount += floor($n $power *= $base);
  }
  
  return 
$amount;
}

echo 
countZeroes(13000); // 3248 
Скорее всего это вообще решается без циклов, одним выражением.

Последний раз редактировалось astrologer; 22.04.2009 в 21:25..
 
Ответить с цитированием