posso arrotondare gli elementi di A
agli interi più vicino maggiori o uguali a A
soffitto a 50 più vicina
ceil(A)
Ma che dire se voglio arrotondare al più vicino 50 maggiore o uguale a A
?
Ad esempio, dato il seguente A
matrice,
A=[24, 35, 78, 101, 199];
Una subroutine deve restituire il seguente
B=Subroutine(A)=[50, 50, 100, 150, 200];
noti che questo potrebbe concepibilmente introdurre in virgola mobile errori di arrotondamento per valori grandi in A. –
Meh, quindi sbarazzarsi del punto decimale dopo il 50 nella divisione. O i numeri sono già valori a virgola mobile, nel qual caso il problema è già presente altrove nel codice, oppure i numeri sono numeri interi, nel qual caso basta eliminare il punto decimale e ora stai facendo divisione in interi e aggiunta , nel qual caso nessun problema in virgola mobile. Quindi non vedo il problema qui. –
Il problema è che i risultati non saranno corretti. :-) Ad esempio, prova '77777777777777777' come input: questo metodo fornisce il risultato errato' 77777777777777792', mentre il metodo modulo fornisce correttamente '77777777777777800'. –