![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
число сделать наибольшим числом кратным 10. [D7, WinXP]
Cat © (2005-05-19 18:51:00)Есть число 124 нужно сделать его наибольшим числом кратным 10.
т.е 130.
Как лучше реализовать такой алгоритм
raidan (2005-05-19 23:38:00) [1]>Чапаев © (19.05.05 21:36) [4]
Афтар, выпей йаду! :)
>Sha © (19.05.05 21:44) [5]
Респект :)
Ваш вариант все-таки чуть-чуть быстрее чем у Ega23 :)
Eraser (2005-05-19 22:37:00) [2]тихий вовочка © (19.05.05 22:33) [6]
intResult := Ceil(125 / 10 * 10);
тихий вовочка (2005-05-19 22:33:00) [3]Я делил на десять. Рез-т округлял в большую сторону (Ceil). И умножал на 10.
124
12.4
13
130
Sha (2005-05-19 21:44:00) [4]i:=i+9; dec(i,i mod 10);
Чапаев (2005-05-19 21:36:00) [5]
while a mod 10<>0 do Inc(A);<-- вот это я извращенец!
Ega23 (2005-05-19 19:00:00) [6]не, не так:
function A(const aVal:Integer):Integer;
begin
if (aVal mod 10)=0 then Result:=aVal
else
Result:=aVal + ( 10 - (aVal mod 10));
end;
begin...end (2005-05-19 18:59:00) [7]Для положительного числа:
J := (I div 10) + Ord(I mod 10 <> 0)
Ega23 (2005-05-19 18:56:00) [8]
function A(const aVal:Integer):Integer;
begin
Result:=aVal + ( 10 - (aVal mod 10));
end;