#include <iostream>
using namespace std;
int gcd(int , int);
int lcm(int , int);
int main()
{
int a,b,a1,b1;
cin>>a>>b>>a1>>b1;
cout<<gcd(a,b) + gcd(a1,b1)<<endl;
cout<<lcm(a,b) + lcm(a1,b1)<<endl;
return 1;
}
//使用辗转相除法
int gcd(int a, int b)
{
int temp;
if(a < b)
{
temp = a;
a = b;
b = temp;
}
while (b != 0)
{
temp = a % b;
a = b;
b = temp;
}
return a;
}
int lcm(int a,int b)
{
return a * b / gcd(a,b);
}
http://www.acmerblog.com/c-5-1194.html
#include <stdio.h>
#include <stdlib.h>
int gcd(int a,int b){
return b == 0 ? a :gcd(b,a%b);
}
int main(){
printf("%d",gcd(12,20));
}
最简版本