mogę dopełniają elementy A
do najbliższych liczb całkowitych większych lub równych A
sufitowa na piechotę 50
ceil(A)
Ale co, jeśli chcę zaokrąglić go do najbliższego 50 większa lub równa A
?
Na przykład, biorąc pod uwagę następujące A
tablicą
A=[24, 35, 78, 101, 199];
Podprogram należy zwrócić następujące
B=Subroutine(A)=[50, 50, 100, 150, 200];
Należy pamiętać, że może to niewykluczone wprowadzać zmiennoprzecinkowych zaokrąglania błędów, dla dużych wartości w A. –
Meh, więc pozbyć się przecinka po 50 w dywizji. Albo liczby są wartościami zmiennoprzecinkowymi, w którym to przypadku problem już pojawił się gdzie indziej w kodzie, albo liczby są liczbami całkowitymi, w takim przypadku po prostu pozbyć się przecinka dziesiętnego, a teraz robisz podział i dodanie liczb całkowitych , w którym to przypadku nie występują problemy zmiennoprzecinkowe. Więc nie widzę problemu tutaj. –
Problem polega na tym, że wyniki będą niepoprawne. :-) Na przykład wypróbuj '77777777777777777' jako dane wejściowe: ta metoda daje niepoprawny wynik' 77777777777777792', podczas gdy metoda modulus poprawnie podaje '77777777777777800'. –