c++语言等差数列求和程序,从1加到100的.

c++语言等差数列求和程序,从1加到100的.,第1张

下面是一个使用 C++ 语言编写的等差数列求和程序,可以计算从 1 加到 100 的和:

```cpp

#include <iostream>

int main() {

int n = 100 // 等差数列中的最后一项

int a1 = 1 // 等差数列中的第一项

int d = 1// 公差

int sum = (a1 + n) * n / 2 /拦握/ 使用等差数列求和公式计算和

std::cout <<"从 1 加到 100 的和为:" <<sum <<std::endl

return 0

}

```

这个程序使用了等差简闹庆数列求和公式来计算从 1 加到 100 的和:$S_n = \dfrac{(a_1 + a_n)n}{2}$,其中 $S_n$ 表弯闭示前 $n$ 项的和,$a_1$ 表示等差数列中的第一项,$a_n$ 表示等差数列中的最后一项,$n$ 表示等差数列中的项数。因为从 1 加到 100 的等差数列中,第一项 $a_1=1$,最后一项 $a_{100}=100$,项数 $n=100$,公差 $d=1$,因此可以直接套用该公式计算出总和。

注意,在 C++ 中,除法运算 `/` 默认会对整数进行截断,因此在计算和时需要将分子或分母至少转换成浮点数类型,避免结果被截断。在上面的代码中,分子 `(a1 + n)` 和分母 `2` 都是整数型变量,但相乘之后会自动转换成浮点数类型,从而得到正确的结果。

等差数列求和求和有两种方法,指悉第一种是数值循环相加,第二种是利用公式:

Sn=n*a+n*(n-1)*d/2,其中a为数列首项

代码唯升乎如下:

#include <stdio.h>

int main(void)

{

int a,m,d,sum

int s=0,n=1

do  {

printf("清输入等差数列首项值a,项数m,数列差值d\n")

scanf("%d,%d,%d",&a,&m,&d)

}while(a<1||m<1||d<1)

while(n<=m)

{

s+=a+(n-1)*d

n++

}

sum=m*a+d*(m*(m-1))/2    //sum为通过公式,求等差数列的和

printf("s=%d\nsum=%d\n",s,sum)   //s为通过数据循环相加得到的等差数列的和

return 0

}

上图是首项值为1,笑或数列差值为分别1和2的情况下的求和结果,可以看出两种不同求和方式得到结果一致。

public class Test

{public void calSum()

{long num = 9// 数列的各个项亏袭,后面会改变其值,销高兄使用 long, 因为 int 会超范围

long sum = num// 存放数列和,使用 long, 因为 int 会超范围

// 因为只到9999999999,所以只用 9 次

for (int i = 0i <9i++)

{num = num * 10 + 9// 根据数列当前项得到下一项的值

sum += num// 计算目前为止所有数的和}

System.out.println("9+99+999+...+9999999999=" + sum)}

public static void main(String[] argv)

{Test test = new Test()

test.calSum()}}

或者public class Test{ public void calSum(){ long num = 9// 数列的各个项,后面会改变其值,使用 long, 因为 int 会超范围long sum = num // 存放数列和,使用 long, 因为 int 会超范围 // 因为念穗只到9999999999,所以只用 9 次for (int i = 0i <9i++){num = num * 10 + 9 // 根据数列当前项得到下一项的值sum += num // 计算目前为止所有数的和 } System.out.println("9+99+999+...+9999999999=" + sum) } public static void main(String[] argv){Test test = new Test()test.calSum()}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12564494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存