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

Втечение двух недель человек заключает пари на скачках. в первый день он делает ставку в 1 фунт и проигрывает. во второй день, чтобы возместить свой проигрыш, он делает ставку в 2 фунта, но снова проигрывает. на третий день он ставит 3 фунта, однако опять проигрывает. он продолжает увеличивать на 1 фунт свою ставку, но продолжает проигрывать. написать программу, выводящую на экран сумму денег, проигранную этим человеком к концу второй недели.

👇
Ответ:
linagaribyan
linagaribyan
31.07.2022
FOR i = 1 TO 14
    s = s + i
NEXT i
PRINT "s=";s
4,7(69 оценок)
Открыть все ответы
Ответ:
nourdana
nourdana
31.07.2022

22

Объяснение:

Понятно, что каждая из команд может только увеличить число.

У нас обязательно есть число 16, из него есть два пути:

1. сделать +1

2. сделать x2

Если мы сделаем +1, то после этого уже точно не сможем сделать x2, т.к. 17 x 2 =  34, а 34 > 33, а уменьшить число мы не сможем. Если мы будем делать постоянно +1, то мы точно пройдём через 30.

Значит не нужно делать +1, когда мы на числе 16, а надо делать x2.

Следовательно, концовка у нас точно будет такая 16 -> 32 -> 33.

Теперь надо посчитать, сколько различных получить 16 из 2. К любому такому мы допишем нашу концовку и получим программу подходящую под наши условия, и к тому же все программы, подходящие под данные условия, выглядят именно так.

Считать сколькими можно получить 16 из 2 будет динамическим программированием.

ans[i] - количество различных программ, которые получают i из 2.

Очевидно, ans[2] = 1 (пустая программа).

ans[3] = 1 (нужно сделать +1)

ans[4] = ans[3] + ans[2] = 2 (можно сделать +1 к 3, а можно x2 к 2)

Далее вычисления всегда следующие:

ans[i] = ans[i - 1] + ans[i / 2] для чётных i (можно либо добавить +1 к числу i - 1, либо сделать x2 для числа i / 2)

ans[i] = ans[i - 1] для нечётных i (можно получить только путём добавления +1 к числу i - 1)

Итак, считаем:

ans[2] = 1

ans[3] = ans[2] = 1

ans[4] = ans[3] + ans[2] = 2

ans[5] = ans[4] = 2

ans[6] = ans[5] + ans[3] = 4

ans[7] = ans[6] = 4

ans[8] = ans[7] + ans[4] = 6

ans[9] = ans[8] = 6

ans[10] = ans[9] + ans[5] = 8

ans[11] = ans[10] = 8

ans[12] = ans[11] + ans[6] = 12

ans[13] = ans[12] = 12

ans[14] = ans[13] + ans[7] = 16

ans[15] = ans[14] = 16

ans[16] = ans[15] + ans[8] = 22

Значит 16 из 2 можно получить И столькими же можно получить 33 из 2 выполняя условия задачи.

4,7(83 оценок)
Ответ:
мили241
мили241
31.07.2022

146

Объяснение:

Перевод из 16-ричной СС в 10-чную:

Число 55(16). Нумеруем сверху 55 каждую цифру, начиная с справа и с нуля. Над первой справа пятёркой пишем 0, над второй - 1. Чтобы перевести в десятичную, умножаем:

5 на основание системы счисления в степени, которую мы указали над числом. В данном случае, это 1.

Потом приплюсовываем следующее произведение: 5 умножаем на 16 в степени 0. Сумма будет являться десятичным числом:

55(16)=5*16^1+5*16^0=80+5=85(10)

Перевод из 8-ричной СС в 10-чную:

Число 222(8). Нумеруем сверху 222 каждую цифру, начиная с справа и с нуля. Над первой справа двойкой пишем 0, над второй - 1, над третьей - 2. Чтобы перевести в десятичную, умножаем:

2 на основание системы счисления в степени, которую мы указали над числом. В данном случае, это 2.

Потом приплюсовываем следующее произведение: 2 умножаем на 8 в степени 1. Потом приплюсовываем следующее произведение: 2 умножаем на 8 в степени 0. Сумма будет являться десятичным числом:

222(8)=2*8^2+2*8^1+2*8^0=128+16+2=146(10)

Перевод из 2-ичной СС в 10-чную:

Число 1111(2). Нумеруем сверху 1111 каждую цифру, начиная с справа и с нуля. Над первой справа единицей пишем 0, над второй - 1, над третьей - 2, над четвёртой - 3. Чтобы перевести в десятичную, умножаем:

1 на основание системы счисления в степени, которую мы указали над числом. В данном случае, это 3.

Потом приплюсовываем следующее произведение: 1 умножаем на 2 в степени 2. Потом приплюсовываем следующее произведение: 1 умножаем на 2 в степени 1. Потом приплюсовываем следующее произведение: 1 умножаем на 2 в степени 0. Сумма будет являться десятичным числом:

1111(2)=1*2^3+1*2^2+1*2^1+1*2^0=8+4+2+1=15(10)

4,5(68 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ