问题 F: 等比数列

问题 F: 等比数列

时间限制: 1 Sec  内存限制: 64 MB
提交: 2699  解决: 1214
[提交][状态][讨论版][命题人:外部导入]

题目描述

已知q与n,求等比数列之和: 1+q+q2+q3+q4+…+qn

输入

输入数据含有不多于50对的数据,每对数据含有一个整数n(1≤n≤20),一个小数q(0<q<2)。

输出

对于每组数据n和q,计算其等比数列的和,精确到小数点后3位,每个计算结果应占单独一行。

样例输入

6 0.3 5 1.3

样例输出

1.428
12.756

#include<stdio.h>
int main()
{
    int n, i;
    double p, q, sum;
    while(~scanf("%d %lf", &n, &q))
    {
        sum = 1 + q;
        p = q;
        for(i = 0; i < n - 1; ++i)
        {
            p = p * q;  //p的作用 防止出现二次方直接到四次方的错误
            sum = sum + p;
        }
        printf("%.3f
", sum);
    }
    return 0;
}

  

原文地址:https://www.cnblogs.com/mjn1/p/9898105.html