М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
nastenamolova0
nastenamolova0
20.08.2021 23:11 •  Информатика

Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера: 1)Прибавить 1
2)Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 1 результатом является число 28 и при этом траектория вычислений содержит число 25 и не содержит число 10?

👇
Ответ:
котик8308
котик8308
20.08.2021

ответ:38

Решение на python:

def f(x,y):

   if x == y:

       return 1

   elif x > y or x ==10:

       return 0

   else:

       return f(x+1, y) + f(x*2, y)

print(f(1,25)*f(25,28))

4,6(26 оценок)
Открыть все ответы
Ответ:
leonru1
leonru1
20.08.2021
Program pretty;
var
  count, i, d1, d2, d3, d4, d5, d6: integer;
const
  MIN = 189980;
  MAX = 205505;
begin
  count := 0;
  for i := MIN to MAX do
    begin
      d1 := i div 100000;
      d2 := i mod 100000 div 10000;
      d3 := i mod 10000 div 1000;
      d4 := i mod 1000 div 100;
      d5 := i mod 100 div 10;
      d6 := i mod 10;
      if ( (d6 * 100000) + (d5 * 10000) + (d4 * 1000) + (d3 * 100) + (d2 * 10) + d1 ) = i
      then
        count := count + 1;
    end;
  writeln('в промежутке от ', MIN, ' до ', MAX, ' ', count, ' счастливых билетов');
end.
4,6(89 оценок)
Ответ:
santa34
santa34
20.08.2021
Var
  count, i, d1, d2, d3, d4, d5, d6: integer;
const
  MIN = 189980;
  MAX = 205505;
begin
  count := 0;
  for i := MIN to MAX do
    begin
      d1 := i div 100000;
      d2 := i mod 100000 div 10000;
      d3 := i mod 10000 div 1000;
      d4 := i mod 1000 div 100;
      d5 := i mod 100 div 10;
      d6 := i mod 10;
      if ( (d6 * 100000) + (d5 * 10000) + (d4 * 1000) + (d3 * 100) + (d2 * 10) + d1 ) = i 
      then
        count := count + 1;
    end;
  writeln('в промежутке от ', MIN, ' до ', MAX, ' ', count, ' счастливых билетов');
end.
4,5(83 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ