等比数列之和【简单循环】
时间: 1ms 内存:128M
描述:
已知q与n,求等比数列之和: 1+q+q2+q3+q4+…+qn
输入:
输入一对数据,含有一个整数n(1≤n≤20),一个小数q(0<q<2)。
输出:
对于每组数据n和q,计算其等比数列的和,精确到小数点后5位。
示例输入:
5 1.2
示例输出:
9.92992
提示:
参考答案(内存最优[1012]):
#include <stdio.h>
#include <math.h>
int main()
{
double q,n,i,s=1;
scanf("%lf%lf",&n,&q);
for(i=1;i<=n;i++)
s=pow(q,i)+s;
printf("%.5lf\n",s);
return 0;
}
参考答案(时间最优[0]):
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n,i;
double sum=1,q,k=1;
cin>>n>>q;
for(i=1; i<=n; i++)
{
k=k*q;
sum=k+sum;
}
cout<<setiosflags(ios::fixed)<<setprecision(5)<<sum<<endl;
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。