辗转相除法:设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用b除a,得a=bq…r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b=r1q…r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)
1.求最小公倍数
思路:先用辗转相除法求出最大公约数,然后求得公倍数
#include<iostream>
using namespace std;
int main()
{
int x1, x2;
char ch;
cin >> x1 >> ch >> x2;
int a, b;
//确保a>b
a = x1 >