Hallo Leute,
also ich hab's so gemacht :
Das Problem bei deiner Variante ist, das die Schleife im schlimmsten Fall R-1 mal durchgelaufen wird.
Im Grunde führst du da eine Addition mit Hilfe von inc() und einer Schleife aus.
Delphi-Quellcode:
function Runde(N, R : Integer) : Integer;
var rest: integer;
begin
rest := N div R;
if (rest <> 0)
then result := N + (R-rest);
else result := N;
end;