• Предмет: Информатика
  • Автор: borsukovkosta2
  • Вопрос задан 3 месяца назад

Можете решить, пожалуйста, на PascalABC.net!!! Буду очень признателен, даю 100 баллов!!!

Вова купил билет в трамвае 13-го маршрута и сразу посчитал суммы первых трёх цифр и последних трёх цифр номера билета (номер у билета шестизначный). Оказалось, что суммы отличаются ровно на единицу. «Я в одном шаге от счастья», — подумал Вова, — «или предыдущий или следующий билет точно счастливый». Прав ли он?

Входные данные

Входной файл INPUT.TXT содержит в первой строке число K – количество тестов. В следующих K строках записаны номера билетов. Количество тестов не больше 10. Номер состоит ровно из шести цифр, среди которых могут быть и нули. Гарантируется, что Вова умеет считать, то есть суммы первых трех цифр и последних трех цифр отличаются ровно на единицу.

Выходные данные

Выходной файл OUTPUT.TXT должен содержать K строк, в каждой из которых для соответствующего теста следует указать "Yes", если Вова прав, и "No", если нет.

Ответы

Ответ дал: eespay
1
var
K, i, ticketNumber, firstThreeDigits, lastThreeDigits, sumDiff: Integer;

begin
Readln(K);

for i := 1 to K do
begin
Readln(ticketNumber);

firstThreeDigits := ticketNumber div 1000;
lastThreeDigits := ticketNumber mod 1000;

sumDiff := Abs((firstThreeDigits div 100 + firstThreeDigits mod 100 + firstThreeDigits mod 10) -
(lastThreeDigits div 100 + lastThreeDigits mod 100 + lastThreeDigits mod 10));

if sumDiff = 1 then
Writeln('Yes')
else
Writeln('No');
end;
end.


Предоставленный код написан на языке программирования PascalABC.net и предназначен для решения задачи, которую ты описал можешь смело использовать этот код, вставив его в среду программирования PascalABC.net и запустив для проверки.

borsukovkosta2: Спасибо большое!!! Но, что такое “Abc”?
eespay: Извините. В контексте PascalABC.NET, "ABC" не имеет специфического значения это просто слого. Название "PascalABC.NET" объединяет язык программирования Pascal и платформу .NET, предоставляя инструменты для разработки программ на языке Pascal с использованием технологии .NET. "ABC" в данном случае, вероятно, не несет особого смысла и может быть просто частью названия.
borsukovkosta2: Ой, прошу прощения, «Abs” в задаче, что значит?
pb1036: Abs - это функция, возвращающая абсолютную величину переданного ей значения. По-простому, если у числа знак минус, она его отбрасывает.
borsukovkosta2: хорошо, спасибо
pb1036: АВС в названии этой версии языка - английское "азбука". Название подчеркивает, что язык может быть использован подобно букварю - для обучения программированию с нуля.
pb1036: Я понимаю, что Вы взяли про "объединение Pascal и .NET" из описания языка, но поверьте автору двух книг и пяти обучающих курсов по этому диалекту языка: да, максимально возможная совместимость с ТурбоПаскаль и Free Pasacal у этого диалекта есть, но это совместимость рекомендована лишь для того, чтобы запустить старый код и потом переделать на современный. А школы тупо продолжают гонять PascalАВС.NЕТ лишь как оболочку для обучении "мамонтячьей" версии Паскаля образца 1993 года.
borsukovkosta2: согласен с Вами, но это же только для обучения, я не думаю, что в современном мире коды пишут на Паскале
pb1036: Немного пишут, но это почти единичные случаи. Мы даем эту платформу для изучения современных методов программирования с тем, чтобы потом за пару месяцев безболезненно перейти на C# и Java и это реально работает на студентах-первокурсниках. Фактически этот современный Паскаль и есть C#, только в другом синтаксисе.
borsukovkosta2: да-да, слышал, что Паскаль используют для учёбы потому, потому что с него легко перейти на другие языки программирования. Но мой одноклассник не понимает этого и считает, что учить Паскаль — это ужас.
Вас заинтересует