题解 | #规律数列求和#
规律数列求和
http://www.nowcoder.com/practice/e05d1c142b3d4898be7183289a00ce5f
题意整理。
- 给定数列:9,99,999,...,9999999999(10个9)。
- 计算该数列所有项的和。
方法一(循环)
1.解题思路
- 利用循环模拟计算出每一项。
- 每轮循环中,将对应项累加到sum。
动图展示:
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次,所以时间复杂度为。
- 空间复杂度:需要额外常数级别的空间,所以空间复杂度为。
xqxls的题解 文章被收录于专栏
牛客题解