#include <iostream>
using namespace std;
int main()
{
int N; //liczba zestawow danych
double a,b;
int aInt,bInt;
cin >> N;
for(int i=0; i<N; i++)
{
cin >> a >> b; // a=<10;inf) b<1;30>
aInt = a;
bInt = b;
for(int i=0; i<6; i++)
{
if((b/2==bInt/2) && (a/2==aInt/2))
{
b=b/2;
a=a/2;
}
if((b/3==bInt/3) && (a/3==aInt/3))
{
b=b/3;
a=a/3;
}
if((b/5==bInt/5) && (a/5==aInt/5))
{
b=b/5;
a=a/5;
}
if((b/7==bInt/7) && (a/7==aInt/7))
{
b=b/7;
a=a/7;
}
if((b/11==bInt/11) && (a/11==aInt/11))
{
b=b/11;
a=a/11;
}
if((b/13==bInt/13) && (a/13==aInt/13))
{
b=b/13;
a=a/13;
}
if((b/17==bInt/17) && (a/17==aInt/17))
{
b=b/17;
a=a/17;
}
if((b/19==bInt/19) && (a/19==aInt/19))
{
b=b/19;
a=a/19;
}
if((b/23==bInt/23) && (a/23==aInt/23))
{
b=b/23;
a=a/23;
}
if((b/29==bInt/29) && (a/29==aInt/29))
{
b=b/29;
a=a/29;
}
}
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<a*b<<endl;
}
return 0;
}
Witam, mam pytanie do tego zadania : https://pl.spoj.com/problems/PRZEDSZK/
Wiem że te zadanie albo podobne robil juz Pan Zelent ale nie chce sprawdzić gotowego kodu bo lubię wiedzieć dlaczego coś co powinno działać (moim zdaniem) nie działa.
Kod nie jest jeszcze do konca przystosowany do wyslania, musze go jeszcze przerobić ale mi chodzi o sam algorytm, dlaczego nie działa ? Tak, wiem (a tak mi sie przynajmniej wydaje) że ten sposob wyznaczania najwiekszej wspolnej wielokrotnosci nie jest napewno najlepszy ale do tego zadania powinien dzialac (b<=30).