您的位置:首页 > 其它

1204 ACdream Integration of Polynomial(数学:简单求积分)

2014-09-07 10:44 155 查看
很容易的一个题,但是题目有个坑

比如说输入:

1

-1 1

输出结果应该为:-1/2 2

而不是:1/-2 2

但是题目中又没有说清楚

感觉是因为题目不严谨

代码如下:

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define MAXN 1010
#define LL long long
using namespace std;

int k[MAXN], e[MAXN];

int gcd(int a, int b) {
return b ? gcd(b, a%b) : a;
}

int main(void) {
int n, x, y, tmp;
while(cin >> n) {
for(int i=1; i<=n; ++i) {
cin >> k[i] >> e[i];
}
for(int i=1; i<=n; ++i) {
x = k[i];
y = e[i]+1;
tmp = gcd(x, y);

x /= tmp;
y /= tmp;

if(y == 1 || y == -1) {
cout << x << " " << e[i]+1;
} else {
if(x*y < 0 && y<0) {
x *= -1;
y *= -1;
}
cout << x << "/" << y << " " << e[i]+1;
}
if(i < n)
printf(" ");
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: