算法与程序设计(高二)

发布网友 发布时间:2022-04-22 10:13

我来回答

4个回答

热心网友 时间:2023-07-14 05:10

using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            int a=0, b = 1;

            for (int i = 1; i<=100; i++)

            {

                a = a + b * (i * i);

                b = -1 * b;

            }

            Console.WriteLine(a);

            Console.Read();

        }

    }

}

伪代码:

s1:0→a

s2:1→b

s3:i=From 1 to 100 step 1(for语句用伪代码怎么写已经忘了...)

s4: a→a + b * (i * i) ,b=-1*b

就是i从1到100,反复做S4。

结果-5050

热心网友 时间:2023-07-14 05:11

通项公式为(-1)^(n-1)*n^2
如果你只是为了编程
sum=0
for i=1:100
sum=sum+power(-1,i-1)*power(i,2);
end
sum;
我是用matlab编写的,计算结果-5050;
下面是手算形式:

奇数项为正,偶数项为负
临项相减:
先设n为奇数

n^2-(n+1)^2=-(2n+1)

1^2-2^2+ 3^2-4^2+……+99 ^2-100^2
=∑-(2n+1)

首项为-(2*1+1)=-3
末项为-(2*99+1)=-199
项数为:(99-1)/2+1=50
根据等差数列求和公式
Sn=n(a1+an)/2=50*(-3-199)/2=-5050

热心网友 时间:2023-07-14 05:11

编程能否这样?
s=0
i=1
do
s=s+i^2
i=i+2
loop until i>99
print s
do
i=2
i=i+2
s=s-i^2
loop until i>100
print s
eng
我不知道这样对么仅供参考这样可以输出两个结果

热心网友 时间:2023-07-14 05:12

-50

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com