为了账号安全,请及时绑定邮箱和手机立即绑定

有一个数列:1/2,2/3,3/5,5/8,8/13,13/21,……试编程序,求数列的前N项之和(N<10)用php写

/ 猿问

有一个数列:1/2,2/3,3/5,5/8,8/13,13/21,……试编程序,求数列的前N项之和(N<10)用php写

PHP
LGLMVP 2017-09-16 23:01:15

$a=1;

$b=2;

$num=0;

$n=1;

while($n<=10){

    $num = $num+$a/$b;

    $a=$b-$a;

    $b=$b+$a;

}

echo $num;


查看完整描述

3 回答

?
qq_青枣工作室_0
<?php
$a=1;
$b=2;
$sum = 0;
$expList = [];    // 这里仅用于演示计算项
$n=9;   // 前N项(N<10)
while($n--) {
    $sum += $a/$b;
    $expList[] = "$a/$b";
    $_a = $a;
    $a = $b;
    $b = $_a+$b;
}
echo implode(' + ', $expList) . ' = ';
echo $sum;

输出:

1/2 + 2/3 + 3/5 + 5/8 + 8/13 + 13/21 + 21/34 + 34/55 + 55/89 = 5.4799053061941

查看完整回答
3 反对 回复 2017-09-17
?
晨星ll

我不会php,不过通过看你的代码,while循环最后应该加一个$n++; 还有从逻辑上看你在循环里面给$a赋值不符合题目.试试这个.

$a=1;
$b=2;
$num=0;
$n=1;
while($n<=3){
	$num = $num+$a/$b;
	$b=$b+$a;
	$a=$b-$a;
	$n++;
}
echo $num;


查看完整回答
反对 回复 2017-09-17
?
LGLMVP

这样写代码有错误,那个大牛帮一下我


查看完整回答
反对 回复 2017-09-17

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信