zoukankan      html  css  js  c++  java
  • 「CF197B Limit」

    题目撞名

    题目大意:

    给出两个函数 (P(x),Q(x)).

    (P(x)=a_0 imes x^N+a_1 imes x^{N-1}+a_2 imes x^{N-2} cdots a_{N-1} imes x+a_N)

    (Q(x)=b_0 imes x^M+b_1 imes x^{M-1}+b_2 imes x^{M-2} cdots b_{M-1} imes x+b_M)

    计算 (lim_{x o +infty}frac{P(x)}{Q(x)})

    分析

    先看一下极限的定义:设函数 (f(x)) 在点 (x_0) 的某一去心邻域内有定义,如果存在常数 (a),(forall varepsilon in mathbb{N}),(exists delta>0),使不等式(|f(x)-a|<varepsilon),在 (|x-x_0|in(0,delta)) 时恒成立,那么常数 (a) 就叫做函数 (f(x))(x o x_0) 时的极限,记作 (lim_{x o x_0}f(x)=a).(根本就不是人话)

    定义非常简(kan)单(bu)明(dong)了,于是肯定会有人会用一种非常简单粗暴的方法去解决这道题,将一个非常大的数带入,然后计算,答案取一个近似值,那么问题来了,需要带怎样的一个数进去呢,又如何计算呢.所以这个方法显然就是错误的,那么就要从这两个函数入手了,可以发现 (lim_{x o +infty}frac{P(x)}{a_0 imes x^N}=1) 具体证明见洛必达法则,所以当 (x o +infty) 时,(P(x)=a_0 imes x^N),(Q(x)=b_0 imes x^M),所以就直接取比较这两个值就好了.当 (N>M)时结果为 (+infty)(-infty),结果与 (a_0)(b_0) 的正负性有关,如果 (a_0*b_0>0) 结果为 (+infty),反之为 (-infty).如果 (N<M) 时结果为 (0),当 (N=M) 时结果自然就是 (frac{a_0}{b_0}) 了.

    代码

    #include<bits/stdc++.h>
    #define REP(i,first,last) for(int i=first;i<=last;++i)
    #define DOW(i,first,last) for(int i=first;i>=last;--i)
    using namespace std;
    int N,M;
    int a0,b0;//只要记录a0和b0
    int Gcd(int a,int b)//需要约分
    {
    	if(!b)
    	{
    		return a;
    	}
    	return Gcd(b,a%b);
    }
    int main()
    {
    	scanf("%d%d",&N,&M);
    	int air;//没用的值
    	scanf("%d",&a0);
    	REP(i,1,N)
    	{
    		scanf("%d",&air);
    	}
    	scanf("%d",&b0);
    	REP(i,1,M)
    	{
    		scanf("%d",&air);
    	}
    	if(N<M)//如果N<M时最后的答案为0
    	{
    		printf("0/1");
    		return 0;
    	}
    	if(a0*b0<0)//如果a0*b0<时需要输出符号
    	{
    		printf("-");
    		a0=abs(a0);
    		b0=abs(b0);
    	}
    	if(N>M)//如果N>M时最终的结果为无穷大
    	{
    		printf("Infinity");
    		return 0;
    	}
    	int gcd=Gcd(a0,b0);//约分
    	a0/=gcd;
    	b0/=gcd;
    	printf("%d/%d",a0,b0);//输出答案
    	return 0;
    }
    
    
  • 相关阅读:
    ATI Radeon HD 5450 with full QE/CI Support ( 转载 )
    从零开始学iPhone开发(5)——使用MapKit
    从零开始学iPhone开发(4)——使用WebView
    从零开始学iPhone开发(3)——视图及控制器的使用
    从零开始学iPhone开发(2)——控件的使用
    从零开始学iPhone开发(1)——工具的使用
    实战做项目如何选择开源许可协议(一)-了解协议
    git使用3
    git团队开发操作
    git分支管理
  • 原文地址:https://www.cnblogs.com/Sxy_Limit/p/12309254.html
Copyright © 2011-2022 走看看