#include <stdio.h>
int massimoComunDivisore (int n1, int n2);
int minimoComuneMultiplo (int n1, int n2);
int main(void)
{
int num1, den1, num2, den2 ;
int num_sum, den_sum, semplifica;
printf("Inserire quattro interi [num1 den1 num2 den2]\n");
scanf("%d%d%d%d", &num1, &den1, &num2, &den2);
den_sum = minimoComuneMultiplo(den1, den2);
num_sum = num1*(den_sum/den1) + num2*(den_sum/den2);
semplifica = massimoComunDivisore(num_sum, den_sum);
if (semplifica != 1) {
num_sum /= semplifica;
den_sum /= semplifica;
}
printf("%d/%d + %d/%d = %d/%d\n", num1, den1, num2, den2, num_sum, den_sum);
scanf("%*[^\n]"); getchar();
printf("\nPremi [INVIO] per terminare\n");
getchar();
return 0;
}
int minimoComuneMultiplo(int n1, int n2)
{
return n1 * n2 / massimoComunDivisore(n1, n2);
}
int massimoComunDivisore(int n1, int n2)
{
int resto, a, b;
a = n1;
b = n2;
while (b > 0) {
resto = a % b;
a = b;
b = resto;
}
return a;
}