2017.1.15【初中部 】普及组模拟赛C组 小x的极限 题解
2017-01-15 22:39
211 查看
原题:
http://172.16.0.132/junior/#contest/show/1365/1题目描述:
输入:
第一行两个用空格分开的整数n和m,分别表示P(x)和Q(x)的最高项指数。第二行包含n+1用空格分开的整数,a0,a1,…,an,表示P(x)的每项系数。
第三行包含m+1用空格分开的整数,b0,b1,…,bm,表示Q(x)的每项系数。
输出:
如果最后得到的极限为正无穷,输出“Infinity”;如果为负无穷,输出“-Infinity”;
如果最后得到的极限为0,输出“0/1”;
否则,输出一个最简分数,为所得极限的值,以“p/q”的形式,p为分子,q为分母。
样例输入:
样例输入1:2 1
1 1 1
2 5
样例输入2:
1 0
-1 3
2
样例输入3:
0 1
1
1 0
样例输入4:
2 2
2 1 6
4 5 -7
样例输入5:
1 1
9 0
-5 2
样例输出:
样例输出1:Infinity
样例输入2:
-Infinity
样例输出3:
0/1
样例输出4:
1/2
样例输出5:
-9/5
数据范围限制:
对于100%的数据:0<=n,m<=100,|ai|,|bi|<10^5。提示&分析:
实现:
#include<cstdio> #include<cmath> int i,n,m,l,a[107],b[107]; bool bz; void gcd(int x,int y) { if(x%y!=0) gcd(y,x%y); else l=y; } int main() { freopen("limit.in","r",stdin);freopen("limit.out","w",stdout); scanf("%d%d",&n,&m); for(i=1;i<=n+1;i++) scanf("%d",&a[i]); for(i=1;i<=m+1;i++) scanf("%d",&b[i]); if(n<m) printf("0/1"); if(n>m) if(a[1]>0&&b[1]>0||a[1]<0&&b[1]<0) printf("Infinity"); else printf("-Infinity"); if(n==m) { if(a[1]>0&&b[1]>0||a[1]<0&&b[1]<0) bz=true; else bz=false; a[1]=fabs(a[1]); b[1]=fabs(b[1]); gcd(b[1],a[1]); a[1]/=l; b[1]/=l; if(bz==false) printf("-%d/%d",a[1],b[1]); else printf("%d/%d",a[1],b[1]); } }
相关文章推荐
- 2017.1.15【初中部 】普及组模拟赛C组 小x的数列 题解
- 初中OJ1994【普及组模拟赛】小口口矩阵
- 2016.09.17【初中部 NOIP普及组 】模拟赛
- 2017.1.13【初中部 】普及组模拟赛C组 excel 电子表格 题解
- 2017.1.15【初中部 NOIP提高组】模拟赛B组 七天使的通讯(angelus) 题解
- 2016.10.05【初中部 NOIP普及组 】模拟赛总结
- 2017.1.18【初中部 】普及组模拟赛C组 最佳裁判 题解
- 2017.1.15【初中部 NOIP提高组】模拟赛B组
- 2016.12.30【初中部 】普及组模拟赛C组题解
- 2017.1.16【初中部 】普及组模拟赛C组 chicken 题解
- 2016.09.03 初中部 NOIP普及组 模拟赛
- 2017.1.12【初中部 】普及组模拟赛C组 连续自然数和 题解
- 2017.1.16【初中部 】普及组模拟赛C组 match 题解
- 2016.5.28【初中部 NOIP普及组 】模拟赛总结
- 2017.1.12【初中部 】普及组模拟赛C组 简单游戏 题解
- 2017.1.16【初中部 】普及组模拟赛C组 cirs 题解
- 2017.1.18【初中部 】普及组模拟赛C组 临时工计划 题解
- 2017.1.12【初中部 】普及组模拟赛C组 幸运票 题解
- 2017.1.16【初中部 】普及组模拟赛C组 wtaxi 题解
- 2017.1.18【初中部 】普及组模拟赛C组 捉迷藏 题解