【问题描述】
从键盘上输入2个正整数,计算这两个正整数的最小公倍数或者最大公约数。其中输入1时,输出两个正整数的最大公约数;如果输入是2,输出两个正整数的最小公倍数。
【输入形式】
第一行,两个正整数,中间用空格隔开。第二行一个整数,表述选择项。
【输出形式】
一个整数,表示输入数据的最小公倍数或者最大公约数。
【样例输入】
12 18
2
【样例输出】
36
【题目代码】
#include<bits/stdc++.h>
using namespace std;
int i=1,j=1;
void f2(int a,int b)
{
if(a*i==b*j)
cout<<a*i;
else if(a*i>b*j)
{
j++;
f2(a,b);
}
if(a*i<b*j)
{
i++;
f2(a,b);
}
}
void f1(int a,int b)
{
int i,n;
n=min(a,b);
for(i=n;i>0;i--)
{
if(b%i==0&&a%i==0)
{
cout<<i;
break;
}
}
}
int main()
{
int n,a,b;
cin>>a>>b>>n;
if(n==1)
f1(a,b);
else
f2(a,b);
return 0;
}