高精度累加求和(终于成功了) 您所在的位置:网站首页 一行求和怎么求 高精度累加求和(终于成功了)

高精度累加求和(终于成功了)

2024-06-26 13:26| 来源: 网络整理| 查看: 265

题目:

使用求和公式求1到N的累加和大家都会,但是如果把N值变大呢,比如100位的整数,那该怎么求?

输入格式:

输入在一行中给出1个位数不超过100位的整数N。

输出格式:

对每一组输入,在一行中输出1+2+3+……+N的值。

输入样例:

在这里给出一组输入。例如:

10 输出样例:

在这里给出相应的输出。例如:

55

短小而精悍

关键在于高精度。

但是,在这刚到ACM的一周里面,我学到了一件事,那就是不能与题目硬碰硬,应该学会化解题目。

这里显然不能从一一直加到所给的高精度数

因为时间太长了。

所以说应该用其他的方法去求 。

编程的思路常常需要数学思想的介入,其实当我们用数学的眼光去看这个问题的时候,会发现这不就是等差数列前项和吗?

所以说,如所给的高精度数是a的话,那么答案就是

                                                              a*(a+1)/2

那么下面分别用函数来实现a+1、a*(a+1)、/2

(当然,高精度的思想还是要一直存在的)

a+1:

void jiayi() { for (int i = 0; i


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有