Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[13.58.105.247] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток.
Работаю в Паскале недавно,только-только затронула.Но столкнулась с некой проблемой,а именно:код,написанный к одной задаче рабочий,однако программа упорно не дает пройти ему все тесты(проверяю на сайте по Паскалю).Т.е на 3 из 10 тестов моя писанина не работает,пишет "ошибка в исполнении.А никто и толком не может объяснить почему,сколько не старалась добиться ответа. Вот сама задача:Определить номер подъезда девятиэтажного дома по указанному номеру квартиры N. Считать, что на каждом этаже находится M квартир. Данные:Во входном потоке в первой строке задано два целых числа: N и M (1 < N, M < 1000000000) Что должно выйти:В выходной поток вывести единственное целое число(то бишь определить подъезд) А вот такой код вышел: Var res,n,m:integer; Begin Read(n,m); res := 1; while n > 9 * m do begin n := n - 9 * m; res := res + 1; end; Writeln(res); End. И не лезет. Спасибо всем за помощь,если сможете объяснить что тут не так,то буду безумно благодарна. |
Сообщ.
#2
,
|
|
|
Если это точно TurboPascal, то в тип integer "влазят" числа от -32000 до +32000, но никак не 10^9. Попробуй заменить тип на LongInt.
И ещё, можно же применить деление с остатком Res:=((n-1) div m)+1 |
Сообщ.
#3
,
|
|
|
Поверить не могу.Я уже достала всех кого могла,а все дело было элементарно в неправильно заданном типе переменных.
Спасибо вам огромное!Дело в том,что на сайте написано,что влазит..Видимо потому и вылезла ошибка. |