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

Задача . П91


Задача

Темы:
На вход программы поступает натуральное число 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 = 1) or (d > m) then
      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 == 1 or d > 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 == 1 || d > m)
     m = d;
  N = N /10;
 }
  if (m == t) 
    cout << "NO";
  else
    cout << m;
  return 0;
}
 
Последовательно выполните следующее.
1. Напишите, что выведет эта программа при вводе числа 815.
2. Какое наименьшее число может быть выведено при работе этой программы? Приведите пример числа N, при вводе которого программа выведет такой ответ.
3. Найдите допущенные программистом ошибки и исправьте их.

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

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