问题标题: 酷町堂:求助:3448 Cantor表I

0
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;
} 

求助~


0
已采纳
李泽远
李泽远
高级天翼
高级天翼

如果你把cmp里的代码改成递归写法会怎么样?

我用递归写也不对,样例也过了,就是WA0分

2
许金夫
许金夫
初级天翼
初级天翼

自顶一下

许金夫在2020-04-05 14:15:10追加了内容

再顶一下

许金夫在2020-04-07 22:08:49追加了内容

再顶一下

0
我要回答