总和似乎是40但是怎么样

时间:2017-06-07 18:08:30

标签: php math

我正在尝试探索php并稍微学习它,但是当我尝试这个时

    $n=2;
    $a=5;
    $x=3;
    $s=0;
    $i;
    for($i=1; $i<=($n+2);$i++)
    $s=$s+(2*$i+$a);

   //$g=3*$x+4*$s;
   echo "$s";

结果似乎是40,当我自己计算时,s的总和是13 我知道这很简单,但我无法理解。

5 个答案:

答案 0 :(得分:1)

非常简单,因为i&lt; =($ n + 2)总迭代次数为4。 第一次迭代,

$i=1 the value of s = 0+(2*1+5) = 7
$i=2 now s = 7+(2*2+5) = 16
$i=3 now s = 16+(2*3+5) = 27
$i=4 now s = 27+(2*4+5) = 40

希望这能解释。

答案 1 :(得分:0)

N = 2; A = 5; X = 3; S = 0;

for
  I=1 => S (0) = 0 + (2*1+5) = 7

  I=2 => S (7) = 7 + (2*2+5) = 16

  I=3 => S (16) =  16 + (2*3+5) = 27

  I=4 => S (27) = 27 (2*4+5) = 40

答案 2 :(得分:0)

使用伪代码:

n = 2
a = 5
s = 0

for ( i in { 1...4 } ) {

    s = s + ( ( 2 * i ) + 5 )
}

所以我们有

s =  0 + ( ( 2 * 1 ) + 5 ) =  0 +  7 = 7
s =  7 + ( ( 2 * 2 ) + 5 ) =  7 +  9 = 16
s = 16 + ( ( 2 * 3 ) + 5 ) = 16 + 11 = 27
s = 27 + ( ( 2 * 4 ) + 5 ) = 27 + 13 = 40

答案 3 :(得分:0)

这是一个简单的数学运算,php代码就像它看起来一样。我错过了什么吗?

循环1:

    $i = 1
    $s = 0 + (2*1 + 5) = 7

循环2:

    $i = 2
    $s = 7 + (2*2 + 5) = 7 + 4 + 5 = 16

循环3:

    $i = 3
    $s = 16 + (2*3 + 5) = 16 + 6 + 5 = 27

循环4:

    $i = 4
    $s = 27 + (2*4 + 5) = 27 + 8 + 5 = 40

答案 4 :(得分:0)

这是简单的数学运算。 s是2i + a的1到n + 2之和的总和。这等于i的两倍和加上a的总和。后者显然值得(n + 2)a。前者是从1到n + 2的整数之和的两倍,即2 *(n + 2)(n + 3)/ 2。因此总数为(n + 2)(n + 3)+(n + 2)a =(n + 2)(n + 3 + a)=(2 + 2)*(2 + 3 + 5)= 4 * 10 = 40.(副作用:无需显式循环,只需实现上述公式。)