Олимпиадный тренинг

Задача . П92


Задача

Темы:
На вход программы поступает натуральное число N, не превышающее 109.  Требуется найти и вывести  наибольшую чётную цифру в десятичной записи этого числа или вывести «NO», если таких цифр нет. К сожалению, приведённая ниже программа неправильная.
Pascal Python
var N, d, m, t: longint;
begin
  read(N);
  t := 0;
  m := t;
  while N > 1 do begin
    d := N mod 10;
    if (d mod 2 = 0) or (d > m) then
      m := m + d;
    N := N div 10
  end;
  if m = t then
       writeln('NO')
  else writeln(m)
end.
N = int(input())
t = 0
m = t
while N > 1:
  d = N % 10
  if d % 2 == 0 or d > m:
    m = m + d
  N = N // 10
if m == t:
  print("NO")
else:
  print(m)
С++ .
#include <iostream>
using namespace std;
int main()
{
  int N, d, m, t;
  cin >> N;
  t = 0;
  m = t;
  while (N>1)
 {
   d = N % 10;
   if (d % 2 == 0 || d > m)
     m = m + d;
  N = N /10;
 }
  if (m == t) 
    cout << "NO";
  else
    cout << m;
  return 0;
}
.
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 132.
2. Какое наибольшее число может быть выведено при вводе трёхзначного числа? Сколько существует таких чисел N, при вводе которого программа выведет такой ответ?
3. Найдите допущенные программистом ошибки и исправьте их.

time 500 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя