Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

число сделать наибольшим числом кратным 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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо