求最大公约数遇到问题


#include<iostream>
using namespace std;
int max()
{int x,y,m;
 if(x>y)m=x;
 else m=y;
 m=max(x,y);
}
int min()
{int x,y,m;
 if(x<y)m=x;
 else m=y;
 m=min(x,y);
}
int main()
{int a,b,c,c1,c2,d;
 cin>>a>>b;
 c1=max(a,b);
 c2=min(a,b);
 if(c1%c2==0)
 cout<<"最大公约数="<<c2<<endl;
 else if(c1%c2==!0)
 do{c=c1%c2;
    c1=c2;
    c2=c;}
 while(c1%c2!=0);
 cout<<"最大公约数="<<c2<<endl;
 d=a*b/c2;
 cout<<"最小公倍数="<<d<<endl;
 return 0;
}

img

你那两个 max和min函数有什么用?

这代码看得把我整不会了,


#include<iostream>
using namespace std;
int main()
{
    int a, b, c, c1, c2, d;
    cin >> a >> b;
    c1 = max(a, b);
    c2 = min(a, b);
    do {
        c = c1 % c2;
        c1 = c2;
        c2 = c;
    }  while (c1 % c2 != 0);
    cout << "最大公约数=" << c2 << endl;
    d = a * b / c2;
    cout << "最小公倍数=" << d << endl;
    return 0;
}