Salve a tutti, sto avendo un problema che può essere più di matematica che di programmazione. L'esercizio è:
Avendo un numero casuale > di 16 N, trovare il numero M = 2^(X-1)
giocatori, dove 2^X è la potenza di 2 più vicina ma strettamente minore di N.
? Esempio: se N = 456, la potenza di 2 più vicina ma strettamente minore (2^X) è 256 (2^8), quindi
il numero di giocatori rimanenti dopo la prima fase dovrà essere M = 2^7 = 128.
? Esempio: se N = 16, la potenza di 2 più vicina ma strettamente minore è 8 (2^3), quindi il
numero di giocatori rimanenti dopo la prima fase dovrà essere M = 2^2 = 4.
? Esempio: se N = 21, la potenza di 2 più vicina ma strettamente minore è 16 (2^4), quindi il
numero di giocatori rimanenti dopo la prima fase dovrà essere M = 2^3 = 8.
Gli N giocatori verranno raggruppati in M gruppi generati casualmente (le dimensioni dei gruppi possono
differire tra loro di una unità al massimo).
Il mio problema è che non riesco a capire come dividere il numero N in M gruppi senza che alcuni giocatori vengano esclusi. Sarebbe semplice se non fosse che i gruppi non possono differire tra loro di una unità.
Per favore aiutatemi, grazie mille.