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

сделать программу в Питоне, поблагодарю и назову ответ лучшим) ​


сделать программу в Питоне, поблагодарю и назову ответ лучшим) ​

👇
Открыть все ответы
Ответ:
nastia04102015
nastia04102015
21.11.2022
Задача очень простая. Не знаю какие у вас там формулы и какими буквами что обозначается, так что попробую обьяснить на пальцах

- каждый символ конкретного алфавита занимает определенный обьем/вес/меру в информации которая измеряется в битах
- любой из символов данного/конкретного алфавита занимает одинаковое кол-во бит. Т.е. каковы бы не были символы  -  их количество определяет их вес

Аналог задачи. Продаются яблоки поштучно. Известна цена за одно яблоко, не зависимо от того большое оно или маленькое, зеленое или красное, но стоят все одинаково. Купили всего 130 яблок, и за покупку заплатили 650$ . Сколько стоит одно яблоко?
Правильно. одно яблоко стоит 650/130 = 5$

650 бит/ 130  = 5 бит на символ
4,7(13 оценок)
Ответ:
Julia77707
Julia77707
21.11.2022

#include <iostream>

using namespace std;

// функция с алгоритмом двоичного поиска  

int Search_Binary (int arr[], int left, int right, int key)

{

int midd = 0;

while (1)

{

 midd = (left + right) / 2;

 

 if (key < arr[midd])       // если искомое меньше значения в ячейке

  right = midd - 1;      // смещаем правую границу поиска

 else if (key > arr[midd])  // если искомое больше значения в ячейке

  left = midd + 1;    // смещаем левую границу поиска

 else                       // иначе (значения равны)

  return midd;           // функция возвращает индекс ячейки

 if (left > right)          // если границы сомкнулись  

  return -1;

}

}

int main()

{

setlocale (LC_ALL, "rus");

 

const int SIZE = 12;

int array[SIZE] = {};

int key = 0;

int index = 0; // индекс ячейки с искомым значением

for (int i = 0; i < SIZE; i++) // заполняем и показываем массив

{

 array[i] = i + 1;

 cout << array[i] << " | ";

}

 

cout << "\n\nВведите любое число: ";

cin >> key;

 

index = Search_Binary (array, 0, SIZE, key);

if (index >= 0)  

 cout << "Указанное число находится в ячейке с индексом: " << index << "\n\n";

else

 cout << "В массиве нет такого числа!\n\n";

 

return 0;

}

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