blob: 87103dbbb34e2c59b798756e3e0c67cf6e0546c1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include <iostream>
int getGcd(int a, int b) {
if (a == 0 && b == 0)
return 1;
if (a == 0)
return b;
return b == 0 ? a : getGcd(b, a % b);
}
int main() {
int is, vs, xs;
int gcd;
int piezas;
std::cin >> is;
std::cin >> vs;
std::cin >> xs;
while (is || vs || xs) {
gcd = std::min(getGcd(is, vs), std::min(getGcd(vs, xs), getGcd(is, xs)));
piezas = is / gcd;
piezas += vs / gcd;
piezas += xs / gcd;
std::cout << piezas << std::endl;
std::cin >> is;
std::cin >> vs;
std::cin >> xs;
}
}
|