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` 都是整数型变量,但相乘之后会自动转换成浮点数类型,从而得到正确的结果。

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/11671106.html

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

发表评论

登录后才能评论

评论列表(0条)

保存