题解 | #规律数列求和#

规律数列求和

http://www.nowcoder.com/practice/e05d1c142b3d4898be7183289a00ce5f

题意整理。

  • 给定数列:9,99,999,...,9999999999(10个9)。
  • 计算该数列所有项的和。

方法一(循环)

1.解题思路

  • 利用循环模拟计算出每一项。
  • 每轮循环中,将对应项累加到sum。

动图展示: alt

2.代码实现

#include <iostream>
using namespace std;

int main() {

    //记录数列的和
    long long sum=0;
    //记录数列中每一项
    long long num=0;
    for(int i=1;i<=10;i++){
        //模拟计算每一项
        num=num*10+9;
        //将对应项累加到sum
        sum+=num;
    }
    cout<<sum<<endl;
    return 0;
}

3.复杂度分析

  • 时间复杂度:循环总共执行10次,所以时间复杂度为O(1)O(1)
  • 空间复杂度:需要额外常数级别的空间,所以空间复杂度为O(1)O(1)
xqxls的题解 文章被收录于专栏

牛客题解

全部评论
我是以10的次幂减一来得到每个数,我当时就在想,如果要是以5为累加,那又要怎么解,看到你的答案,我顿悟了。
1 回复 分享
发布于 2021-12-19 17:47

相关推荐

11-17 11:15
门头沟学院 Java
金山办公终于发offer了,但薪资和平台都不如已有的offer打算拒了,A不了薪资,不满意直接拒了,留给需要的人嘿嘿嘿时间线:10.14线下一面&nbsp;,10.23线上二面,下午发测评,11月1日HR面,11月14日电话谈薪,11月17日直接发offer
star__plat...:好兄弟干的好啊,解气。金山第一次笔难度高的离谱,第二次简单的离谱全A了,用人部门筛选中估计最后还是要挂我,就这今早智联招聘还给我发信息让我投
offer帮选
点赞 评论 收藏
分享
09-28 22:01
已编辑
广西科技大学 IT技术支持
合适才能收到offe...:找桌面运维?
点赞 评论 收藏
分享
评论
18
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务