问题 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;
}

浙公网安备 33010602011771号