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

Задача . 20086


Задача

Темы:
Напишите в ответе количество различных значений входной переменной a из интервала от 1000 до 2000 (включая границы), при которых программа выдаёт тот же ответ, что и при входном значении a = 1111. Значение a = 1111 также включается в подсчёт различных значений a
 
Паскаль Си Python
var a, i, k: integer;
function f(x: integer): integer;
var m: integer;
begin
  if x < 10 then f := x 
  else begin
    m := f(x div 10);
    if m < x mod 10 then 
      f := x mod 10 
    else
      f := m;
  end;
end;
begin
  k := 0;  
  readln(a);
  for i := 1000 to a do
    if f(i mod 100) = 1 then
      if f(i div 100) = f(i mod 100) then
        k := k + 1;
  writeln(k);
end.
#include<stdio.h>
int f(int x)
{ int m;
  if (x < 10) return  x; 
  else {
    m = f(x /10);
    if (m < x % 10) 
      return x % 10; 
    else
      return m;
  }
}
int main(void)
{ int i, k,a;
  k = 0;  
  scanf(″%d″,&a);
  for (i=1000; i<= a; i++)
    if (f(i % 100) == 1)
      if (f(i /100) == f(i % 100))
        k = k + 1;
  printf(″%d″,k);
}
 
def f(x):
    if x < 10:
        return x
    else:
       m = f(x // 10)
       if m < x % 10:
           return x % 10
       else:
           return m

k = 0
a = int(input())
for i in range (1000, a+1):
    if f(i % 100) == 1:
        if f(i // 100) == f (i % 100):
            k += 1
print (k)

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

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