C. 累加模板(广义几何级数)

传统 1000 ms 256 MiB
标准 IO
文本比较

题目描述

编写一个 函数模板 generalizedGeomSum,接受四个参数:
初始值 aa、公比 rr、步长 step\textit{step}、项数 nn
计算并返回如下广义几何级数的和:

Sn=i=0n1(a+istep)ri.S_n = \sum_{i=0}^{n-1}(a + i \cdot \textit{step}) \cdot r^{i}.

要求:

  1. 能同时正确处理 intlong longfloatdouble 等类型;
  2. 自行实现整数次幂函数,不得调用 <cmath>pow
  3. 主函数读入多组数据,输出每组求和结果,保留 两位小数

输入格式

每行四个数:
a r step n
其中 a, r, step 为整数或浮点数,n 为正整数。
输入以 EOF 结束。

输出格式

对每组数据输出一行:
Sum = x.xx
(保留两位小数,四舍五入)

样例

样例输入

2 3 1 4
1.2 0.6 0.3 6

样例输出

Sum = 182.00
Sum = 3.72

数据范围与提示

数据范围

  • n100n \le 100
  • 所有数值绝对值 104\le 10^4
  • 浮点答案保证在 double 精度范围内

提示

  • 推荐写法:

    template <typename T>
    T generalizedGeomSum(T a, T r, T step, int n)
    
  • 自写快速幂或简单循环乘幂均可。