编写一个名为math的类。它有一个名为num的属性。它也有一个称为阶乘的方法(函数)。该方法从1开始,并将所有整数乘以num。如果num是5,那么你会乘以1 * 2 * 3 * 4 * 5。当然,你要循环做到这一点。如何正确执行PHP循环
我应该使用哪一个循环?为了或做什么?另外,我是否需要一个内部循环? 我开始与
For (i = 1; i <= 5; i++)
{
}
然而
,我是卡在下一步该怎么做......有什么建议?
编写一个名为math的类。它有一个名为num的属性。它也有一个称为阶乘的方法(函数)。该方法从1开始,并将所有整数乘以num。如果num是5,那么你会乘以1 * 2 * 3 * 4 * 5。当然,你要循环做到这一点。如何正确执行PHP循环
我应该使用哪一个循环?为了或做什么?另外,我是否需要一个内部循环? 我开始与
For (i = 1; i <= 5; i++)
{
}
然而
,我是卡在下一步该怎么做......有什么建议?
$result = 1;
$target = 5;
for ($i = 1;$ i <= $target; $i++)
{
$result *= $i;
}
echo $result;
或
$result = 1;
$target = 5;
while($target > 0) {
$result *= $target;
$target--; // You could do this all in one line, but for learners, this is clearer.
}
echo $result;
,你会想你可以使用任何循环做的$i
class Math {
public static function Factorial($factorial) {
$output = 1;
for($i = 2; $i <= $factorial; $i++)
$output *= $i;
return $output;
}
}
值乘以总的阶乘的每次迭代。 for
循环可以转换为while
和do .. while
而且相反也是如此。
for(i=0;i<5;i++)
是相同
i=0; while(i<5){i++;}
要找到你应该乘以所有的值从1到要数的阶乘阶乘。所以如果$num = 5
。只需要一个单一的循环。你想运行这个循环。
for($i=1;$i<$num;$i++){
$num*=$i;
}
这里我不给一个完整的解决方案,因为这个问题似乎是功课。如果我给你完整的解决方案,它将是勺子喂养。
我已经得到的地方,我喜欢while(i--)
循环:
<?php
class Math {
public $num = 0;
public function factorial() {
$result = 1;
$num = $this->num;
while ($num) {
$result *= $num--;
}
return $result;
}
}
$factor = new Math();
$factor->num = 5;
echo $factor->factorial();
?>
'1·0 = 0'. – Gumbo
哎呦!编辑:P –