504) На обработку поступает натуральное число, не превышающее 109. Нужно написать программу, которая выводит на экран максимальную цифру числа, кратную 3. Если в числе нет цифр, кратных 3, требуется на экран вывести «NO». Программист написал программу неправильно. Напоминание: 0 делится на любое натуральное число.
N = int(input())
maxDigit = N % 10
while N > 0:
digit = N % 10
if digit % 3 == 0:
if digit > maxDigit:
maxDigit = digit
N = N // 10
if maxDigit == 0:
print('NO')
else:
print(maxDigit)
var N:longint;
digit, maxDigit: integer;
begin
readln(N);
maxDigit := N mod 10;
while N > 0 do begin
digit := N mod 10;
if digit mod 3 = 0 then
if digit > maxDigit then
maxDigit := digit;
N := N div 10;
end;
if maxDigit = 0 then
writeln('NO')
else
writeln(maxDigit)
end.
#include <iostream>
using namespace std;
int main() {
long N;
int digit, maxDigit;
cin >> N;
maxDigit = N % 10;
while (N > 0) {
digit = N % 10;
if (digit % 3 == 0){
if (digit > maxDigit) {
maxDigit = digit;
}
}
N = N / 10;
}
if ( maxDigit == 0)
cout << "NO" << endl;
else
cout << maxDigit << endl;
}
Последовательно выполните следующее:
1. Напишите, что выведет эта программа при вводе числа 134.
2. Приведите пример такого трёхзначного числа, что, несмотря на ошибки, программа печатает правильный ответ.
3. Найдите в программе все ошибки