Sędzia nie chce mi zaakceptować, "przekroczono limit czasu". link do zadania -> http://pl.spoj.com/problems/FR_01_02/
Pomoże ktoś? Oto kod:
#include <stdio.h>
int nww(unsigned int, unsigned int);
int main()
{
unsigned int a, b, x, licznik1, licznik2, mianownik1, mianownik2, znak1, znak2;
scanf("%u%c%u %u%c%u", &licznik1, &znak1, &mianownik1, &licznik2, &znak2, &mianownik2);
if(mianownik1!=mianownik2){
x=nww(mianownik1,mianownik2);
a=x/mianownik1;
a*=licznik1;
b=x/mianownik2;
b*=licznik2;
printf("%u%c%u + %u%c%u = %u%c%u", licznik1, znak1, mianownik1, licznik2, znak2, mianownik2, a+b, znak1, x);
}
else
printf("%u%c%u + %u%c%u = %u%c%u", licznik1, znak1, mianownik1, licznik2, znak2, mianownik2, licznik1+licznik2, znak1, mianownik1);
return 0;
}
int nww(unsigned int a, unsigned int b)
{
while (a!=b){
if (a>b)
a=a-b;
else
b=b-a;
}
return a*b;
}