Текущий архив: 2005.07.11;
Скачать: CL | DM;
ВнизПодскажите пожалуйста как реализовать кратность? Найти похожие ветки
← →
DimMih © (2005-06-23 17:43) [0]Подскажите пожалуйста как реализовать кратность? Например у меня есть число 13. Мне нужно найти ближайшее к нему кратное пяти т.е. 15
← →
Amoeba © (2005-06-23 17:48) [1]N1 := 13 mod 5;
if N1 > 0 then
N2 := 5 * (N1 div 5 + 1)
else
N2 := N1;
← →
DimMih © (2005-06-23 17:53) [2]Спасибо за помощь
← →
-=XP=- © (2005-06-23 17:55) [3]function RepetitionFactor(aNum, aRep: integer): integer;
begin
Result := aRep * (aNum div aRep);
if (aNum mod aRep > aRep/2) then Result := Result + aRep;
end;
← →
-=XP=- © (2005-06-23 18:01) [4]N1 := 13 mod 5;
if N1 > 0 then
N2 := 5 * (N1 div 5 + 1)
Что-то мне подсказывает, что (N1 mod N2) div N2 всегда даст 0.
← →
Юрий Зотов © (2005-06-23 18:02) [5]> Amoeba © (23.06.05 17:48) [1]
N1 := 13 mod 5; // Получили N1=3
if N1 > 0 then
N2 := 5 * (N1 div 5 + 1) // Получили N2 = 5
else
N2 := N1;
И где ж тут 15?
> DimMih © (23.06.05 17:43)
Подсказка:
N1 := (13 div 5) * 5 // Число, кратное 5 и ближайшее к 13 снизу
N2 := N1 + 5 // Число, кратное 5 и ближайшее к 13 сверху
Осталось из двух чисел N1 и N2 выбрать одно - то, которое ближе к 13 по абсолюту. Это уж Вы сами.
← →
evvcom © (2005-06-24 09:04) [6]
> Например у меня есть число 13. Мне нужно найти ближайшее к нему кратное пяти
Не хватает одного условия для решения задачи. А если у тебя есть число 15 и тебе надо найти "ближайшее к нему кратное" шести? Это будет какое число 12 или 18?
Страницы: 1 вся ветка
Текущий архив: 2005.07.11;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.038 c