728x90
728x90
import math

def rhun(x, y, z):
    x_r = y_r = z_r = 0
    
    while True:
        max_num = max(x, y, z)
        min_num = min(x, y, z)
        
        if max_num < 18 or min_num < 6:
            break

        r = math.ceil((max_num - min_num) / 18)

        if max_num == x:
            if min_num == z:
                r = min(r, z // 6)
            else:
                r = min(r, (z - y) // 6)
            if r == 0:
                r = 1
            x -= r * 18
            z -= r * 6
            x_r += r
        elif max_num == y:
            if min_num == x:
                r = min(r, x // 6)
            else:
                r = min(r, (x - z) // 6)
            if r == 0:
                r = 1
            y -= r * 18
            x -= r * 6
            y_r += r
        elif max_num == z:
            if min_num == y:
                r = min(r, y // 6)
            else:
                r = min(r, (y - x) // 6)
            if r == 0:
                r = 1
            z -= r * 18
            y -= r * 6
            z_r += r

    print(x_r, y_r, z_r, "//", x, y, z)

# Example usage
rhun(60, 45, 30)

 

728x90
728x90