Spiegazione soluzione giostre

Sono riuscito a risolvere il problema giostre guardando un altro post del forum, solo che non riesco a capire il ragionamento che c’è dietro. Il primo output è dato dal mcm(a, b)/b, il secondo invece è dato dal primo numero i che insieme ad a è coprimo. Per il primo output non riesco a capire come mai bisogna dividere il minimo comune multiplo di a e b per b e non per il numero di vagoni minore fra le due giostre. Per il secondo output invece non riesco proprio a trovare una motivazione valida per cui funzioni. Qualcuno potrebbe per favore spiegarmi la soluzione del problema?
Grazie in anticipo.

per trovare il primo valore, comincio con il primo vagone della prima giostra vicino al primo vagone della seconda giostra, poi giro le giostre fino a quando quei due vagoni sono vicini di nuovo. a quel punto avrò fatto mcm(a, b) “mosse” quindi la seconda giostra avrà fatto mcm(a, b) / b giri.
dopo ogni giro della seconda giostra il primo vagone sarà vicino ad un vagone diverso tra quelli della prima giostra (fino a quando non si riavvicina al primo), quindi posso raggiungere mcm(a, b)/b vagoni diversi.

poi devi trovare un b’ che ti permetta di raggiungere ogni vagone della prima giostra.
il numero di vagoni che puoi raggiungere deve essere uguale ad a:
mcm(a, b’)/b’ = a --> (a*b’ / gcd(a, b’))/b’ = a --> 1/gcd(a, b’)=1 --> gcd(a, b’) = 1 quindi devi trovare un b’ che sia coprimo con a.

1 Mi Piace