07/03/18 18:11
Carlo
Algoritmo più matematico.
VB.Net
Ho due campi numerici di input che possono essere riempiti da un utente:
N1 e N2, per l'uso da codice ho bisogno che N1/N2 dia resto zero (quoto)
Non posso chiedere all'utente inserisci i numeri in modo che siano divisibili.
Ho inserito un algoritmo che corregge l'input di N2 cercando il valore maggiore più vicino a quello inserito dall'utente ma divisibile.
Il riassunto del codice è:
Il codice funziona, ma non mi piace, e volevo sapere se esiste un metodo "matematico" per ottenere lo stesso risultato.
VB.Net
Ho due campi numerici di input che possono essere riempiti da un utente:
N1 e N2, per l'uso da codice ho bisogno che N1/N2 dia resto zero (quoto)
Non posso chiedere all'utente inserisci i numeri in modo che siano divisibili.
Ho inserito un algoritmo che corregge l'input di N2 cercando il valore maggiore più vicino a quello inserito dall'utente ma divisibile.
Il riassunto del codice è:
' per esempio se i dati inseriti sono: Dim N1 as short = 60 ' dividendo Dim N2 as Short = 7 ' divisore If N2 > N1 Then ' se il divisore è + grande del dividendo N2 = N1 ' per se stesso è divisibile ElseIf N1 Mod N2 = 0 Then ' non da resto, per cui va bene Debug.Print(N2) ' il valore iserito resta invariato Else Do Until N1 Mod N2 = 0 ' cerco il primo divisore che non da resto N2 += 1 Loop Debug.Print(N2) End If ' N2 verrà variato da 7 a 10
Il codice funziona, ma non mi piace, e volevo sapere se esiste un metodo "matematico" per ottenere lo stesso risultato.
Ultima modifica effettuata da Carlo 07/03/18 18:27
in programmazione tutto è permesso