写一门叫数学的课。它是有一个名为 num 的属性。它还有一种称为阶乘的方法(函数)。此方法是从 1 开始,将所有整数乘以 num。如果 num 为 5,那么您将乘以 1*2*3*4*5。当然,您要循环执行此操作。
我应该使用哪个循环?暂时还是暂时?另外,我需要一个内循环吗?我从
For (i = 1; i <= 5; i++)
{
}
但是,我不知道下一步该做什么……有什么建议吗?
写一门叫数学的课。它是有一个名为 num 的属性。它还有一种称为阶乘的方法(函数)。此方法是从 1 开始,将所有整数乘以 num。如果 num 为 5,那么您将乘以 1*2*3*4*5。当然,您要循环执行此操作。
我应该使用哪个循环?暂时还是暂时?另外,我需要一个内循环吗?我从
For (i = 1; i <= 5; i++)
{
}
但是,我不知道下一步该做什么……有什么建议吗?
您可以使用任何循环来完成。for
循环可以转换为while
anddo .. while
和相反的也是如此。
for(i=0;i<5;i++)
和
i=0; while(i<5){i++;}
要找到阶乘,您应该将所有值从 1 乘以您想要阶乘的数字。所以如果$num = 5
. 只需要一个循环。你会想要运行这个循环。
for($i=1;$i<$num;$i++){
$num*=$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;
}
}
我已经到了我更喜欢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();
?>