问题 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\n", sum); } return 0; }