|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.01.2014, 22:03 | #1 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
количество чисел между заданными
Помогите плиз, не могу понять, почему задача не проходит на всех тестах (один не верно). Условие:заданы два целых числа. требуется узнать сколько целых чисел одновременно удовлетворяют неравенствам x>a и x<b. Входные данные: в одной строке задаются два целых числа а и в, по абсолютному значению не превышающие 30000.
Мое решение: var a,b,x:integer; begin read(a,b); if (abs(a) <=30000)and (abs(b)<=30000) then if b>a then x:=b-a-1 else x:=0; write(x); end. |
16.01.2014, 22:10 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
16.01.2014, 22:24 | #3 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
кстати, в коде TC я особого криминал не увидел.
разве что, я бы x иницилизировал нулём в начале, ну и тип данных сделал Longint, неизвестно, что там за разрядность Паскаля. к решению BDA никаких замечаний нет! |
16.01.2014, 22:32 | #4 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
BDA СПАСИБО! проверил. сработало 100%.почему нужен Longint, чем не подходит integer? Serge_Bliznykov что такое разрядность, как она в данном случае влияет. Еще раз спасибо, за оперативность отдельно!!!!!!!!!
|
16.01.2014, 22:33 | #5 | |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
Цитата:
|
|
16.01.2014, 22:37 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Допустим, a = -30000, b = 30000. Они удовлетворяют условию, но их разность не поместится в Integer. Вот тут-то и вступает в дело разрядность (Разрядность (битность) в информатике — количество разрядов (битов) электронного (в частности, периферийного) устройства или шины, одновременно обрабатываемых этим устройством или передаваемых этой шиной.). В данном случае разрядность, это количество бит, доступное для хранения в данной переменной. LongInt обладает большей разрядностью и поэтому пригоден для обработки всех возможных входных данных.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
Последний раз редактировалось BDA; 16.01.2014 в 22:40. |
16.01.2014, 22:40 | #7 |
Пользователь
Регистрация: 16.01.2014
Сообщений: 15
|
спасибо. понятно!
|
16.01.2014, 22:41 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для двухбайтного integer и b=30000 a=-30000 (или похожего) код ТС теста наверно и не прошел
PS извиняюсь за дубль, но за BDA не угонишься
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти количество положительных чисел среди четырёх целых чисел. Если количество положительных чисел больше количества отрицательны | grooveone | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 17.12.2013 10:07 |
кратчайший путь между двумя заданными вершинами графа | mimino46 | Общие вопросы C/C++ | 0 | 29.11.2013 22:33 |
Расстояние между заданными словами в файле. (с++) | Evateli | Помощь студентам | 2 | 11.05.2013 21:47 |
составить массив из всех простых чисел, лежащих между заданными натуральными числами ( Pascal ) | Evelin_18 | Помощь студентам | 1 | 22.03.2013 10:37 |
определить количество четных чисел и количество нечетных чисел массива, которые вводятся в МЕМО, вывести в поле компонента Edit. | Pyxy | Помощь студентам | 2 | 21.03.2012 23:24 |