B1049:数列的片段和(20')
思路:找规律。0.1乘了4次,即n次;0.2出现了6次,即(n-1)*2次;0.3出现了6次,即(n-2)*3次;0.4出现了4次,即(n-3)*4次。
代码:
#include<cstdio>
int main(){
long long n;
double s = 0;
scanf("%lld",&n);
double x; //不用数组,用数组的话要设成至少a[1000000]
for(int i = 0;i < n;i ++){
scanf("%lf",&x);
s+=x*(n-i)*(i+1);
}
printf("%.2f",s);
return 0;
}
二刷代码:
#include<stdio.h>
int main(){
int n;
double s = 0;
scanf("%d",&n);
double a[n];
for(int i = 0;i < n;i ++){
scanf("%lf",&a[i]);
}
for(int i = 0;i < n;i ++){
s += a[i]*(n-i)*(i+1);
}
printf("%.2f",s);
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。