http://pl.spoj.com/problems/MWPZ06A/ Tu jest link do zadania rozwiązałam ję dwa razy i za każdym razem jest źle. Wie ktoś może czemu ?
Wersja 1 :
#include <iostream>
using namespace std;
int ile ;
int grupa1, grupa2 ;
int wynik ;
int dzielnik = 0;
int main()
{
cin >> ile ;
for (int i=1; i <= ile ; i++ )
{
cin >> grupa1 >> grupa2 ;
do
{
do
{
dzielnik ++ ;
}
while ((grupa1 % dzielnik != 0 && grupa2 % dzielnik != 0 ) || (dzielnik <= grupa1 + grupa2)) ;
if (dzielnik > (grupa1 + grupa2))
{
wynik = grupa1 * grupa2 ;
cout << wynik << endl ;
}
else
{
grupa1 = grupa1 / dzielnik ;
grupa2 = grupa2 / dzielnik ;
}
}
while (wynik == 0 );
dzielnik = 0;
}
return 0;
}
Wersja 2 :
#include <iostream>
using namespace std;
int ile ;
int grupa1, grupa2 ;
int wynik ;
int dzielnik = 0;
int main()
{
cin >> ile ;
for (int i=0; i <= ile ; i++ )
{
cin >> grupa1 >> grupa2 ;
do
{
do
{
dzielnik ++ ;
} while ((grupa1 % dzielnik != 0 && grupa2 % dzielnik != 0 ) || dzielnik < grupa1 + grupa2) ;
if (grupa1 % dzielnik == 0 && grupa2 % dzielnik == 0 )
{
grupa1 = grupa1 / dzielnik ;
grupa2 = grupa2 / dzielnik ;
}
else if (dzielnik >= grupa1 + grupa2)
{
wynik = grupa1 * grupa2 ;
}
cout << wynik << endl ;
}
while (wynik != grupa1 * grupa2) ;
dzielnik = 0;
}
return 0;
}
Z góry dzięki za pomoc