问题标题: 酷町堂:5156 辗转相除法

0
0
已解决
叶沄昊
叶沄昊
高级守护
高级守护

题目链接: 酷町堂:5156

5156求代码!!!

错误代码(Wrong Answer:0分)

#include <bits/stdc++.h>
using namespace std;

void gcd(long long x,long long y){
    while(x%y){
        long long r=x%y;
        x=y;
        y=r;
        cout<<x<<" ";
        cout<<y<<endl;
    }
    cout<<y<<" "<<"0";
}
long long a,b;
int main(){
    cin>>a>>b;
    cout<<a<<b;
    gcd(a,b);
    return 0;
} 


0
已采纳
熊潇然
熊潇然
初级启示者
初级启示者

第12行删掉

在第5行上面输出 x 和 y

 

完成

AC100

1
熊潇然
熊潇然
初级启示者
初级启示者

啊,还有

改成**循环(while(1))

在第十行下面判断

如果r为0

    break

 

这样应该可以啦

0
0
熊潇然
熊潇然
初级启示者
初级启示者

你把代码发一下

我看一下

0
0
熊潇然
熊潇然
初级启示者
初级启示者

判断要放在循环最后,就是输出完x和y的下面

0
叶沄昊
叶沄昊
高级守护
高级守护

题目的输出样例:

我的输出样例:

我的代码:

还是不对

0
万睿言
万睿言
初级光能
初级光能

辗转相除法原理:

用较大数 m 除以较小数 n,得到的余数 r作为下次运算中的较小数m,原来的n作为下次运算中的较大数。如此反复,直到最后余数是0为止,最后的除数就是这两个数的最大公约数。

0
0
熊潇然
熊潇然
初级启示者
初级启示者

@叶沄昊  你犯了一个低级错误,在第5行没有输出换行

0
叶沄昊
叶沄昊
高级守护
高级守护

@熊潇然 AC了,谢谢!!!

我要回答