Isaeva_Marin1010
?>

решить задачу на питоне Для положительного целого числа n определим функцию f: f(n) = - 1 + 2 - 3 + .. + ( - 1) n n входные данные:4 выходные данные:2

Информатика

Ответы

tsarkovim
Сначала надо избавиться от ошибок (пункт №3)
иначе не сможем выполнить 1 и 2 пункт задания.
  Исправляем if N mod 10 k:=N mod 10; на if (N mod 10 < k) then k:=N mod 10;
  Исправляем N:N div 10; на N:= N div 10;
 
После исправления ошибок при вводе 537 получим 3
Программа будет работать правильно для любого числа,
у которого вторая цифра слева меньше первой цифры, например:
7193

Чтобы программа работала правильно для всех чисел надо
изменить это: while N > 10 do на while N > 0 do

После всех исправлений код программы стал таким:
var
  N, k: integer;
begin
  readln(N);
  k := 9;
  while N > 10 do
  begin
    if (N mod 10 < k) then k := N mod 10;
    N := N div 10;
  end;
  write(k)
end.
Андрей Шитенкова
1) При вводе числа 256 программа выведет 3, т.к.
ввели n=256
n>0 ? - да, значит дальше идёт блок из цикла, и будет он повторятся до тех пор пока n будет >0.
d:=256 mod 10
d:=6, т.к. mod берёт остаток от деления.
n:=256 div 10
n:=25, т.к. div делит нацело и остаток не берёт.
sum:=sum+1;
sum:=1;

цикл первый раз закончился и опять проверяется условие n>0, если да, то опять запускает цикл. n:=25>0
d:=25 mod 10
d:=5
n:=25 div 10
n:=2
sum:=1+1
sum:=2;

опять закончился цикл и проверяется условие n>0, n:=2>0
d:=2 mod 10;
d:=2;
n:=2 div 10
n:=0
sum:=2+1;
sum:=3;

заканчивается цикл и проверяется условие n>0? n:=0 >0 - нет. цикл заканчивается и выводится значение sum.
ответ: 3.
2) 120, 210, 111 и т.д.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

решить задачу на питоне Для положительного целого числа n определим функцию f: f(n) = - 1 + 2 - 3 + .. + ( - 1) n n входные данные:4 выходные данные:2
Ваше имя (никнейм)*
Email*
Комментарий*