Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > маленькая проблема с вычислением факториала


Автор: slackware 18.3.2009, 08:19
Код

<?

$a1 = $_POST['a1'];

if($a1==0) { return 1; }
elseif($a1==1) { return 1; }

$res = ( ($res1 -1) * $a1 );
return $res;
?>


возникла проблема с вычислением факториала на php
просьба помочь

заранее спс

Автор: InvalidProperty 18.3.2009, 08:59
http://www.google.ru/search?q=%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5+%D1%84%D0%B0%D0%BA%D1%82%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D0%B0+php&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a
http://www.intuit.ru/department/pl/plphp/5/
Код

function fact($n){
  if ($n==0) return 1;
  else return $fact = $n * fact($n-1);
}

Автор: slackware 18.3.2009, 13:33
InvalidProperty, гуглить мы умеем =)

не было бы смысла в форумах, если бы можно было все свести на гугл
а за ответ спасибо

Автор: InvalidProperty 18.3.2009, 13:44
ну раз и мы и вы в равной степени гуглить умеем, зачем тогда вообще спрашивать. А цитаты из имеющихся уже источников - достаточно действенная вещь. Зачем еще раз изобретать велосипед, если можно показать на готовый чертеж?
ЗЫ за ответ пожалуйста smile

Автор: dcc0 14.9.2014, 23:16
В цикле:
Код

<?

$i=0;
$c=1;
$a=1;

while($i++<5) {
++$c;
$a*=$c;;

}
echo $a;
?>


Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/malenkaya-problema-s-vychisleniyem-faktoriala-id50bc77016ccc19f46801339a#findElement_E7045_5415f78cae2015e56531721b_0

Автор: Aliance 15.9.2014, 07:24
slackware, у вас переменная $res1 не определена в первом листинге, как минимум. Не говоря уже о том, что в переменную $a1 может быть передано тчо угодно, по хорошему бы ее приводить к числовому типу нужно. Ну и нет смысла писать if/elseif если в данном случае спасет || (логическое ИЛИ), или функция in_array.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)