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

$a=1;

$b=2;

$num=0;

$n=1;

while($n<=10){

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

    $a=$b-$a;

    $b=$b+$a;

}

echo $num;


LGLMVP
浏览 4114回答 3
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

晨星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;

LGLMVP

这样写代码有错误,那个大牛帮一下我
打开App,查看更多内容
随时随地看视频慕课网APP