0
已解决
许金夫
初级天翼
初级天翼
这道题我觉得我的思路是对的,样例也是对的
但结果却是WA-0分
3448 Cantor表I
题目描述 Description
现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他用如下这张表来证明这一命题:
1/1 1/2 1/3 1/4 1/5 …
2/1 2/2 2/3 2/4 …
3/1 3/2 3/3 …
4/1 4/2 …
5/1 …
输入两个分数(不一定是最简分数),算出这两个分数的积(注意该约分的要约分)后输出积在原表的第几列第几行(若积是整数或1/积,则以“积/1”或“1/积”结算)。
输入描述 Input Description
共两行。每行输入一个分数(不一定是最简分数)。
输出描述 Output Description
两个整数,表示输入的两个分数的积在表中的第几列第几行,注意该约分的要约分。
样例输入 Sample Input
4/5
5/4
样例输出 Sample Output
1 1
数据范围及提示 Data Size & Hint
所有数据:两个分数的分母和分子均小于10000
我的代码:
#include <bits/stdc++.h>
using namespace std;
int cmp(int x,int y){
int w;
if(x>=y)w=y;
else w=x;
for(int i=w;i>=2;i--){
if(x%i==0&&y%i==0){
return i;
}
}
}
int main(){
int a,b,c,d;
char x,y;
cin>>a>>x>>b>>c>>y>>d;
int n,m;
n=a*c;
m=b*d;
int k=cmp(n,m);
n/=k;
m/=k;
cout<<n<<' '<<m;
return 0;
}
求助~