Необходимо найти количество таких целых чисел X, что A<=X<=B.
Входные данные В первой строке записано A, во второй - B. A и B действительные (|A|, |B|<=10^9) с не более чем двумя знаками после запятой.
Выходные данные Выведите ответ на задачу.
Пример
Ввод
-2 1.5
Вывод
4
каие предложения по решению???
klem4
28.12.2005 0:15
А сам что-нибудь пробовал делать ?
Гость
28.12.2005 0:34
да. while и пока не больше в считать.
virt
28.12.2005 2:38
Код
aa,bb : longint; aa := trunc(a); if a <> aa then aa := aa + 1; bb := trunc(b); if b <> bb then bb := bb - 1; writeln(bb - aa + 1);
100CENT
29.12.2005 1:39
я конечно понимаю что код дело хорошее,но когда он правильный то это лучше.
klem4
29.12.2005 1:43
Пеcпочвенный претензии, не подтвержденные фактами не принимаются
100CENT
29.12.2005 1:45
то что получается у Virt не соответствует ответу.(по семплу).
Altair
29.12.2005 1:50
klem4,
Код
Ввод
-2 1.5
Вывод
4
согласен программа неправильная.. выводит 3
klem4
29.12.2005 1:51
Ответ 3 - верный, в промежутке (-2 .. 1.5) находятся 3 числа
это : -1,0,1
ааа ну это если не строго брать, извиняюсь.
100CENT
29.12.2005 1:52
-2 -1 0 1.
Altair
29.12.2005 1:57
Цитата
Ответ 3 - верный, в промежутке (-1.5 .. 2) находятся 3 числа
ты откуда такой пример взял ? вот тебе задан отрезок : [-2, 1] ... и скобочки квадратные...
Цитата
-3 -4 0
а должно юбыть 2
100CENT
29.12.2005 1:57
Цитата(Altair @ 28.12.2005 21:55)
ты откуда такой пример взял ? вот тебе задан отрезок : [-2, 1] ... и скобочки квадратные...
Скобочки квадратные означают что число принадлежит этому интервалу. а -2 принадлежит.
Altair
29.12.2005 1:58
100CENT, да ты меня не понял я как раз говорю, что программа которую привел ВИрт неверная
Гость
29.12.2005 2:00
Цитата(Altair @ 28.12.2005 21:58)
100CENT, да ты меня не понял я как раз говорю, что программа которую привел ВИрт неверная
тогда все окей. программист ошибается трижды. при выборе профессии,при рождении и когда всякая мелочь не работает.
volvo
29.12.2005 2:15
Ребята, я не понял, зачем извращаться с +1/-1 ?
var
a, b: double;
aa, bb: longint;
begin
a := -2.00; b := 1.50;
aa := trunc(a);
bb := trunc(b);
writeln(bb - aa + byte(aa < bb));
end.
Чем не устраивает?
klem4
29.12.2005 2:16
var
a, b: double;
aa, bb: longint;
begin
a := -2.3; b := -1.1;
aa := trunc(a);
bb := trunc(b);
writeln(bb - aa + 1);
end.
должно выдать 1
100CENT
29.12.2005 2:22
Клем, volvo это не всегда работает. моя тестсистема показала 23из30 тестов.
klem4
29.12.2005 2:28
Нука запусти свои тесты :
var
a, b: double;
aa, bb: longint;
begin
readln(a,b);
aa := trunc(a);
bb := trunc(b);
if b <0then bb := trunc(b) - 1;
writeln(abs(bb-aa)+1);
end.
volvo
29.12.2005 2:35
klem4, Не совсем... Я бы сделал так:
var
a, b: double;
aa,bb: longint;
begin
a := -2.3; b := 3.3;
aa := trunc(a); if a > 0then aa := aa + 1;
bb := trunc(b); if b < 0then bb := bb - 1;
writeln((bb - aa) + 1);
end.
100CENT
29.12.2005 2:36
Цитата(klem4 @ 28.12.2005 22:28)
Нука запусти свои тесты :
22 теста. из 30
Altair
29.12.2005 2:38
ничего себе.. такая простая задача а тесты не проходит... значит тесты хорошие...
100CENT
29.12.2005 2:38
0.5 .7 и по целым. глючит иногда.
volvo
29.12.2005 2:39
Цитата
22 теста. из 30
Что-то ты мудришь... Ну-ка приведи сами тесты... Есть подозрение, что ты просто издеваешься... Мы тоже тестировать умеем... Не ты один...
klem4
29.12.2005 2:41
В моей последней проге точно ошибка, протестиру прогу volvo последнюю..
100CENT
30.12.2005 1:14
Господа программисты, что нет больше идей???
Гость
30.12.2005 1:17
volvo? я бы рад. но тесты нам не дают. честно не издеваюсь.честное кодерское.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.