题目
输入 2个正整数A ,B ,求 A 与 B 的最大公约数。
input
2 个数 A,B ,中间用空格隔开。 (1≤A,B≤109)
Output
输出 A 与 B 的最大公约数。
Sample 1
Input | Output |
30 105 | 15 |
Status
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
long long a,b,c,d,z;
cin>>a>>b;
// c=a*b; //c为a,b的乘积
if(b>a){ //b>a时 。交换a,b
z=b;
b=a;
a=z;
}
while(a%b){ //a对b取余不为0
z=b;
b=a%b;
a=z;
}
// c=c/b;
cout<<b<<endl; //最大公约数
// cout<<c<<endl; //最小公倍数
}
可以和最小公倍数问题一起解决。