Необходимо найти количество таких целых чисел X, что A<=X<=B.
Входные данные
В первой строке записано A, во второй - B. A и B действительные (|A|, |B|<=10^9) с не более чем двумя знаками после запятой.
Выходные данные
Выведите ответ на задачу.
Пример
Ввод
-2
1.5
Вывод
4
каие предложения по решению???
А сам что-нибудь пробовал делать ?
да. while и пока не больше в считать.
я конечно понимаю что код дело хорошее,но когда он правильный то это лучше.
Пеcпочвенный претензии, не подтвержденные фактами не принимаются
то что получается у Virt не соответствует ответу.(по семплу).
klem4,
Ответ 3 - верный, в промежутке (-2 .. 1.5) находятся 3 числа
это : -1,0,1
ааа ну это если не строго брать, извиняюсь.
-2 -1 0 1.
100CENT, да ты меня не понял я как раз говорю, что программа которую привел ВИрт неверная
Ребята, я не понял, зачем извращаться с +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.
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.
Клем, volvo это не всегда работает. моя тестсистема показала 23из30 тестов.
Нука запусти свои тесты :
var
a, b: double;
aa, bb: longint;
begin
readln(a,b);
aa := trunc(a);
bb := trunc(b);
if b <0 then bb := trunc(b) - 1;
writeln(abs(bb-aa)+1);
end.
klem4, Не совсем... Я бы сделал так:
var
a, b: double;
aa,bb: longint;
begin
a := -2.3; b := 3.3;
aa := trunc(a); if a > 0 then aa := aa + 1;
bb := trunc(b); if b < 0 then bb := bb - 1;
writeln((bb - aa) + 1);
end.
ничего себе.. такая простая задача а тесты не проходит... значит тесты хорошие...
0.5 .7 и по целым. глючит иногда.
В моей последней проге точно ошибка, протестиру прогу volvo последнюю..
Господа программисты, что нет больше идей???
volvo? я бы рад. но тесты нам не дают. честно не издеваюсь.честное кодерское.