题目名字
a piece of cake
题目链接
题意
编写一个程序,接收一个由0和正整数组成的序列,然后计算并输出这个序列的累加和。
输入格式部分,"a0, a1, …, an"表示输入序列的元素,其中a0是一个0,ai(1<=i<=n)是0到1000之间的整数。
输出格式部分,要求输出一个整数,即输入序列的累加和。
思路
- 通过标准输入获取一个整数n,表示输入序列的长度
- 通过标准输入获取n个整数,存储到一个长度为110的数组a中。数组的第一个元素a[0]是0,其余元素a[i](1<=i<=n)是0到1000之间的整数。
- 使用一个for循环遍历数组a,计算每个元素与其下标的乘积,并将这些乘积累加到一个变量sum中。
- 将变量sum的值输出到标准输出,sum的值即为输入序列的累加和。
坑点
题目中给出了一道看似复杂的蛋糕制作方法,但实际上这与题目要求的计算输入序列的累加和并无关联。
算法一:
时间复杂度
$ 入门
实现步骤
- 整数n,表示输入序列的长度
- 将n存储到一个长度为110的数组a中
- 使用一个for循环遍历数组a,计算每个元素与其下标的乘积,并将这些乘积累加到一个变量sum中
- 将变量sum的值输出到标准输出,sum的值即为输入序列的累加和
代码
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
int n;//定义一个整型变量n,用于存储输入的序列长度
int sum=0;//定义一个整型变量sum,并初始化为0,用于存储序列的累加和
cin>>n;//输入n
int a[110];//声明一个长度为110的整型数组a,用于存储输入的序列
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum+=i*a[i];
}
cout<<sum;
return 0;
}
总结
这道题目主要考察了对于数组和for循环的理解和应用。在解题过程中,需要专注于题目要求的计算输入序列的累加和。此外,还要注意数组的下标范围。