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

有一个数列: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

TA贡献446条经验 获得超754个赞

<?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

TA贡献2条经验 获得超0个赞

我不会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

TA贡献1条经验 获得超0个赞

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


查看完整回答
反对 回复 2017-09-17
  • 3 回答
  • 0 关注
  • 4113 浏览

添加回答

举报

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