递推维护 x 的幂并累加,计算等比多项式 1+x+...+x^n。
OJ: noi_openjudge
题目 ID: ch0105-36
难度:入门
标签:循环数学递推python
日期: 2026-07-30 23:01
题意
计算多项式
思路
令 power 表示当前的 power = 1 对应 base 得到下一次幂,再加入总和。这样不需要反复调用幂函数。
代码
Python代码
python
base_text, exponent_text = input().split()
base = float(base_text)
exponent = int(exponent_text)
power = 1.0
total = 1.0
for _ in range(exponent):
power *= base
total += power
print(f"{total:.2f}")C++代码
cpp
#include <cstdio>
int main(){
double x;
int n;
scanf("%lf",&x);
scanf("%d",&n);
double t =1;
double ans = 1;
int i;
for (i=1;i<=n;i++){
t *=x;
ans += t;
}
printf("%.2lf\n",ans);
return 0;
}复杂度
时间复杂度为
总结
连续幂相邻两项只相差一次乘法,循环维护当前幂是最稳定的实现方式。