Ho un numero di controlli (grafici in questo caso) determinato in fase di esecuzione. Mi piacerebbe metterli in una griglia con il numero corretto di righe e colonne. Per esempio,Determina righe/colonne necessarie dato un numero
- 4 prodotti = 2 x 2
- 8 Articoli = 4 x 2
- 9 Articoli = 3 x 3
- 20 Articoli = 5 x 4
- 11 Articoli = 4 x 3 (Non mi interessa una cella vuota)
Siamo spiacenti, non ho alcun codice per mostrare i miei tentativi. Ho iniziato a giocare determinando se la radice quadrata è un intero, se il numero è equamente divisibile per 2 ecc. E ho realizzato che non sono sicuro di come attaccare questo problema. Ma questo è quello che sto pensando:
- Se la radice quadrata è un numero intero, utilizzare la radice quadrata del numero di righe e colonne (nessun problema)
- In caso contrario, assicurarsi che il numero è anche (aggiungerne uno se necessario, senza problemi)
- Trova i due numeri interi più alti che producono il numero. per esempio. Se ho 20 controlli, la griglia dovrebbe essere 5 x 4 e non 10 x 2 (non proprio sicuro il modo migliore per farlo)
Apprezzerei se qualcuno potesse indicarmi la giusta direzione - o suggerire un algoritmo diverso se sono fuori dalla base.
Ci sono ulteriori vincoli per decidere un 'migliore' in forma? Ad esempio, 2x17 = 34, ma potresti ottenere una griglia più "quadrata" con uno spazio mancante usando 5x7 = 35. Ciò può diventare arbitrariamente peggiore quando inizi a considerare il doppio di numeri primi sempre più grandi. –
Hmm, non ci avevo pensato - grazie per avermelo fatto notare. Penso che preferirei 35 quadrati con lo spazio mancante. –