Mam problem z tym zadaniem sędzia daje werdykt jako błędna odp. Oto mój kod:
#include <iostream>
using namespace std;
int a, b, l, p, k;
int main()
{
cin >> l;
int*p;
p = new int[l];
for (int i = 0; i < l; i++)
{
cin >> a >> b;
if (a > b)
{
k = a;
a = b;
b = k;
} if (a == b)
p[i] = a;
else {
switch (a)
{
case 4:
{ if (b % 4 == 0)
p[i] = b;
else
if (b % 2 == 0)
p[i] = b * 2;
else
p[i] = b * 4;
} break;
case 6:
{ if (b % 6 == 0)
p[i] = b;
else
{
if (b % 2 == 0)
p[i] = 3 * b;
if (b % 3 == 0)
p[i] = 2 * b;
if ((b % 2 != 0)&(b % 3 != 0))
p[i] = 6 * b;
} }
break;
case 8:
{ if (b % 8 == 0)
p[i] = b;
else
{
if (b % 4 == 0)
p[i] = b * 2;
else
{
if (b % 2 == 0)
p[i] = b * 4;
else
{
p[i] = b * 8;
}
}
} } break;
case 9:
{ if (b % 9 == 0)
p[i] = b;
else
{
if (b % 3 == 0)
p[i] = b * 3;
else
p[i] = b * 9;
} } break;
case 10:
{ if (b % 10 == 0)
p[i] = b;
if ((b % 5 == 0) && (b % 10 != 0))
p[i] = b * 2;
if ((b % 2 == 0)&(b % 10 != 0))
p[i] = b * 5;
if ((b % 2 != 0)&(b % 5 != 0))
p[i] = b * 10; }
break;
default:
{if (b%a == 0)
p[i] = b;
else
p[i] = b*a; }
}
}
}
for (int j = 0; j < l; j++)
cout << p[j] << endl;
return 0;
}
created
last reply
- 4
replies
- 474
views
- 4
users
- 1
link