В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
lavin997
lavin997
08.12.2022 10:09 •  Информатика

ИНФОРМАТИКА решить. Желательно, с объяснением.​

Показать ответ
Ответ:
natali250374mailru
natali250374mailru
29.09.2021 16:26

Общий расчёт делается через двоичный логарифм (его можно заменить делением двух десятичных или натуральных логарифмов) и потом округление до целого числа с избытком (т.е. округляем всегда вверх) обозначается вот такими палочками с выступами сверху ⌈ ⌉ .

Единственный нюанс в том, что это формула для N значений. А тут спрашивается, сколько разрядов нужно для хранения числа 134.

Я так понимаю, что при этом количество значений N = 134 + 1 = 135 (эта единица- учёт того, что есть ещё и нулевое значение, по крайней мере в такой форме хранения целых числел- в виде двоичного числа).

$ i = \lceil \log_2 N \rceil = \lceil \lg N / \lg 2 \rceil = \lceil \ln N / \ln 2 \rceil = \lceil \ln 135 / \ln 2 \rceil = \lceil 7{,}0768... \rceil = 8

Ну, либо можно использовать таблицу степеней двойки, и подобрать по ней такую степень, значение которой равно или чуть больше вашего числа. Опять же, здесь N- это количество значений, которые можно хранить в  i  двоичных разрядов (т.е. тут тоже надо считать и нулевое значение). Например:

i   $N=2^i

1   2

2   4

3   8

4   16

5   32

6   64

7   128    <-- это значение ещё не достаточное (меньше, чем 135)

8   256   <-- а вот это значение минимально необходимое (8 разрядов)

9   512

10   1024

11   2048

12   4096

13   8192

14   16384

15   32768

16   65536

0,0(0 оценок)
Ответ:
olik29
olik29
08.11.2022 10:21

На будущее: конкретнее объясняй откуда берутся числа(например ввод через input или конкретные значения)

Если что, то что после # это комментарий и его можно убрать

def count(a, p):

   return (p-a)/2 #периметр это сумма сторон. Отнимем A и получим сумму двух сторон. Т.к. они одинаковые, при делении на 2 получим длину одной из двух сторон

# я для примера возьму числа у пользователя через input

a = int(input('Введи A: '))

p = int(input('Введи периметр: '))

x = count(a, p)

print(f'Одна сторона: {x}. Две одинаковых стороны вместе: {x*2}')

Объяснение:

код работает

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота