等比数列之和【简单循环】

等比数列之和【简单循环】

时间: 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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注