Php 系列1*3-3*5和#x2B之和;5*7

Php 系列1*3-3*5和#x2B之和;5*7,php,math,sum,series,Php,Math,Sum,Series,请帮助打印系列以及系列的总和,如1*3-3*5+5*7到n个术语,我在php中使用了类似的代码 class series { function ser(){ $i = 0; $k = 3; $m = 0; for($j = 1; $j < 3; $j++) { if($j % 2 == 0 ) { $m = $i + ($i * $k);

请帮助打印系列以及系列的总和,如1*3-3*5+5*7到n个术语,我在php中使用了类似的代码

class series {
    function ser(){
        $i = 0;
        $k = 3;
        $m = 0;

        for($j = 1; $j < 3; $j++) {
            if($j % 2 == 0 ) {
                $m = $i + ($i * $k);
            } else {
                $m=$m-($i*$k);

            }
        }

        //$m = $m + $i;
        echo "$m";
    }
}

$se = new series();
$se->ser();
类系列{
函数ser(){
$i=0;
$k=3;
$m=0;
对于($j=1;$j<3;$j++){
如果($j%2==0){
$m=$i+($i*$k);
}否则{
$m=$m-($i*$k);
}
}
//$m=$m+$i;
回音“$m”;
}
}
$se=新系列();
$se->ser();

我已经考了两次了,这可能是我的家庭作业,但不管怎样,还是这样。希望你能从中学到一些东西

上面的代码很可怕。无缘无故地过于复杂。。。这里有一个非常简单的版本。我不知道这是什么语言,但我会为你做一些类似的事情。。。去买一本关于编程的书吧,那将是对你时间的明智投资

function my_sum(int $count) {
    $result = 0;
    $sign = 1;
    for ($i=1; $i<=$count; $i++) {
        $result = $result + $sign * (2*$i-1) * (2*$i+1);
        $sign = - $sign;
    }
    return $result;
}
函数my_sum(int$count){
$result=0;
$sign=1;

对于($i=1;$i我更喜欢递归函数,通过这种方式您可以使用stackoverflow(woot!):):

公共静态整数系列(整数n){

如果(n或),请使用以下公式计算序列的前n个项。很抱歉,尚未找到正确显示LaTeX的方法,也许有人可以为我编辑它,但如果确实如此,请留下注释和说明

\frac{1}{2}\左(-4(-1)^n^2-4(-1)^n n+(-1)^n-1\右)

或者,由奇妙的



(来源:)

通过一些简单的运算,可以找到求和S的公式。 如果n是偶数(和Se),则将成对的项相加得到

 Se = (1*3 - 3*5) + (5*7 - 7*9) + (9*11 - 11*13) ...
 Se = -4*(  3 + 7 + 11 + ...  )
括号中的术语可以拆分和汇总:

 Se = -4*( 1+2 + 3+4 + 5+6 + ...  )
 Se = -4*( n*(n+1)/2 )
 Se = -2*n*(n+1)
如果n为奇数(总和So),则必须将最后一项添加到Se:

 So = Se + 4*n*n-1
 So = +2*n*(n+1) - 1
C中的实现:

int series ( unsigned int n )
{
  if ( n%2 == 0 )
    return -2*n*(n+1);
  else
    return +2*n*(n+1) - 1;
}

第1步:格式化代码,使其可读。第2步:告诉我们这是什么语言。第3步:当一个非成员函数足够时,不要使用成员函数。你应该单击答案旁边的绿色复选标记,将其标记为正确并给予信任。这必须是PHP!因此,请将PHP添加到标记中,并删除其他不明确的标记名(sum series mate)。如果这确实是一个家庭作业问题,那么家庭作业是必须的:)你意识到他可能只是在没有阅读或理解的情况下复制/粘贴了这个答案吗?在匆忙实施大量循环之前,在纸上做一些数学运算:这是真正的优化!我希望你和我一样觉得该网站很有帮助,马克。只需粘贴你的乳胶,复制生成图像的URL,并将其作为图像添加到你的SO帖子中。Br非法的东西。
int series ( unsigned int n )
{
  if ( n%2 == 0 )
    return -2*n*(n+1);
  else
    return +2*n*(n+1) - 1;
}