Внатуральном числе n (0 < n < 109) необходимо подсчитать количество цифр десятичной записи, чётность которых совпадает с чётностью последней цифры числа n. например, для n = 123 должен получиться ответ 2 (последняя цифра числа нечётная, а всего в записи числа две нечётные цифры: 1 и 3). для решения этой ученик написал программу, но, к сожалению, его программа неправильная. ниже эта программа на языке паскаль: var n, k, d: integer; begin read(n); k : = 0; d : = n mod 2; while n > 1 do begin if n mod 10 = d then k : = k + 1; n : = n div 10 end; writeln(k) end. последовательно выполните следующее. 1. напишите, что выведет эта программа при вводе n = 1961. 2. назовите минимальное n, большее 100, при котором программа выведет верный ответ. 3. найдите в программе все ошибки (известно, что их не более двух). для каждой ошибки выпишите строку, в которой она допущена, и эту же строку в исправленном виде. достаточно указать ошибки и способ их исправления для одного языка программирования. обратите внимание: вам нужно исправить программу, а не написать свою. вы можете только заменять ошибочные строки, но не можете удалять строки или добавлять новые.
185
246
Ответы на вопрос:
1. в переменную d записывается остаток от деления числа 2, который совпадает с остатком от деления последней цифры на 2; k инициализируется нулем. затем, пока n > 1, последняя цифра числа сравнивается с d, и если она совпадает с d, k увеличивается на 1. после сравнения последняя цифра отбрасывается. результат подсчета выводится на экран. итак программа вычисляет количество цифр, с остатком от деления последней цифры на 2 без учета первой цифры, если она 1. n = 1961: будет выведено 1 (первая единица не в счет, кроме неё в числе остается только одна единица) 2. n от 101 до 109 не подойдут: если число четное, не будет учтена последняя цифра, если нечетное – то первая. n = 110 подходит: будет выведено 1. 3. ошибки ясны из описания в пункте 1: сравниваются не остаток от деления и d, а цифры и d; если первая цифра 1, она не учитывается. исправления: while n > 1 надо поменять на while n > 0 if n mod 10 = d надо поменять на if n mod 2 = d
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
ZEN2430.07.2022 21:13
-
mereysi1125.06.2021 07:41
-
тата23817.10.2021 19:42
-
Gutrom12.08.2020 18:41
-
Dasěuke34512.03.2020 21:57
-
nicsiberia13.04.2022 18:00
-
Yxcvbnm318.01.2023 06:42
-
Dollyy09.02.2022 02:30
-
sweetdreamsmade9107.05.2022 05:35
-
гуманитарий2325.06.2021 20:29
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.