OneCompiler

mgw WJ

114
 
def water_jug_problem(jug1_capacity, jug2_capacity, target_volume):
    jug1_volume = 0
    jug2_volume = 0

    while jug1_volume != target_volume and jug2_volume != target_volume:
        if jug1_volume == 0:
            jug1_volume = jug1_capacity
        elif jug1_volume > 0 and jug2_volume < jug2_capacity:
            transfer_amount = min(jug1_volume, jug2_capacity - jug2_volume)
            jug1_volume -= transfer_amount
            jug2_volume += transfer_amount
        elif jug2_volume == jug2_capacity:
            jug2_volume = 0

    return jug1_volume, jug2_volume

jug1_capacity = 5
jug2_capacity = 3
target_volume = 4

jug1_final_volume, jug2_final_volume = water_jug_problem(jug1_capacity, jug2_capacity, target_volume)
print(f"Jug 1 final volume: {jug1_final_volume}")
print(f"Jug 2 final volume: {jug2_final_volume}")