Limit(泰勒展开)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
链接

思路

给出 a i a_i ai b i b_i bi t t t,要求 l i m i → 0 ∑ i = 1 n a i l n ( 1 + b i x ) x t lim_{i \to 0}\frac{\sum^n_{i=1}a_i ln(1+b_ix)}{x^t} limi0xti=1nailn(1+bix). 将分子泰勒展开为多项式的形式,分子分母就可以约分了。

f ( x ) = f ( x 0 ) 0 ! ( x − x 0 ) 0 + f ′ ( x 0 ) 1 ! ( x − x 0 ) 1 + f ′ ′ ( x 0 ) 2 ! ( x − x 0 ) 2 + ⋯ + f ( n ) ( x 0 ) n ! ( x − x 0 ) n f(x)=\frac{f(x_0)}{0!}(x-x_0)^0+\frac{f'(x_0)}{1!}(x-x_0)^1+\frac{f''(x_0)}{2!}(x-x_0)^2+ \dots +\frac{f^{(n)}(x_0)}{n!}(x-x_0)^n f(x)=0!f(x0)(xx0)0+1!f(x0)(xx0)1+2!f(x0)(xx0)2++n!f(n)(x0)(xx0)n

x 0 = 0 x_0=0 x0=0 f ( x ) = a l n ( 1 + b x ) f(x)=aln(1+bx) f(x)=aln(1+bx) 带入得: x − x 2 2 + x 3 3 + ⋯ + ( − 1 ) n + 1 x n n x-\frac{x^2}{2}+\frac{x^3}{3}+ \dots +(-1)^{n+1}\frac{x^n}{n} x2x2+3x3++(1)n+1nxn

设所有的 a l n ( 1 + b x ) aln(1+bx) aln(1+bx) i i i 项的系数之和为 f i f_i fi ,那么原式就转化为: f 1 x + f 2 x 2 + ⋯ + f n x n x t \frac{ f_1x+f_2x^2+\dots+f_nx^n}{x^t} xtf1x+f2x2++fnxn(展开 [ 0 , 5 ] [0,5] [0,5] 六项即可).

f [ i ] f[i] f[i] ( i < t i<t i<t )不为 0 0 0 时,拆开后会有 x x x 出现在分母上,答案为正无穷。
f [ i ] f[i] f[i] ( i < t i<t i<t )全为 0 0 0 时,拆开后 x x x 只会出现在分子上,答案为 f [ i ] f[i] f[i]

0 0 0 项的系数恒为 0 0 0 ,当 t = 0 t=0 t=0 时,答案为 0 0 0 .

代码中计算系数的时候没有除分母,避免产生浮点数,当最后输出的时候再处理分母。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,t,a,b,f[10];

void taile(int a,int b){
	for(int i=1;i<=5;i++)
		f[i]+=pow(-1,i+1)*a*pow(b,i);
}

signed main(){
	ios::sync_with_stdio(false);
	cin>>n>>t;
	for(int i=1;i<=n;i++) cin>>a>>b,taile(a,b);
	for(int i=1;i<t;i++)
		if(f[i]!=0){ cout<<"infinity\n"; return 0; }
	if(t==0){ cout<<"0\n"; return 0; }
	int fz=f[t],fm=t;
	int gcd=__gcd(fz,fm);
	fz/=gcd,fm/=gcd;
	if(fm<0) fz=-fz,fm=-fm;
	if(fm==1) cout<<fz<<"\n";
	else cout<<fz<<"/"<<fm<<"\n";
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_51864047

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值