ZJUT_OJ1175

 

Description:

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

 

Input:

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

Output:

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

Sample Input:

6 0.3 5 1.3

Sample Output:

1.428
12.756
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main(int argc, char *argv[])
{
    int n;
    double q;
    
    while(cin >> n >> q)
    {
        double sum = ((q == 1) ? n + 1 : (1 - pow(q, n + 1)) / (1 - q));
        
        cout << setprecision(3) << fixed << sum << endl;
    }

    return EXIT_SUCCESS;
}
 
注意: setprecision(n), 指的是设置输出的有效位数为n位, 要是想使得输出的精度为n位, 需要使用fixed...

 

你可能感兴趣的:(input,n2,output)