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

Задача . 20085


Задача

Темы:
Какое число будет напечатано в результате выполнения программы
 
Паскаль Си Python
var 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;  
  for i := 1000 to 9999 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;
  k = 0;  
  for (i=1000; i<= 9999; 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
for i in range (1000, 10000):
    if f(i % 100) == 1:
        if f(i // 100) == f(i % 100):
            k += 1
print (k)
 

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

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