在for_loop中添加n分母的分数(PHP)

时间:2014-09-23 15:58:37

标签: php

我尝试制作它所以它将分数分为1,1 / 2,1 / 3,1 / 4等,最多为1/100,然后将它们加在一起,只显示总和而不是分数链。

到目前为止我的代码看起来像这样:

<?

$sum = 0;

for($n = 1;   $n<=1/100;  $n+=1/$n)
{
    $sum = $sum + $n;
}
echo $sum;

但它永远不会给我正确答案,即5.18。有什么建议吗?

5 个答案:

答案 0 :(得分:3)

您需要限制循环。您需要增加$n

$sum = 0;

for($n = 1;   $n<=100;   $n++)
{
    $sum = $sum + (1/$n);
}
echo $sum;

//answer 5.1873775176396

答案 1 :(得分:1)

仅供参考,对于这样的简单操作,你的for循环甚至不需要正文。

$sum = 0;
for($n=1; $n<=100; $sum +=(1/$n++));
echo $sum;

请参阅php for文档中的示例四。

答案 2 :(得分:0)

for($n = 1;   $n<=;   $n+=1/$n)

您必须定义for的limit insecond参数,它在无穷大

中运行

编辑:

在第二个和第三个参数之间,您必须插入;

答案 3 :(得分:0)

<?php

$sum = 0;

for ($n=1; $n<=100; $n++) {
    $sum = $sum + (1/$n);
}

echo $sum;

// or use round if you want it rounded
//echo round($sum,2);

此代码符合PSR-2

答案 4 :(得分:-1)

试试这个:

for ($n = 0, $sum = 0; $n < 100; $n++, $sum += 1 / $n);
echo $sum;