1) с 7 бит можно закодировать 128 чисел. значит n=128
2) с 6 бит можно закодировать 64 числa. значит, диапазон содержит 64 числа (в условии не сказано, с какого числа этот диапазон начинается - мы можем вычислить только количество чисел в диапазоне)
Примечание:
Если к числу в двоичной системе счисления приписывать в конец цифры, то число увеличивается и никак не может уменьшится. Поэтому, n<f(n). Следовательно, перебор различных чисел, принадлежащих отрезку [90;160], можно смело ставить до 160 (можно и меньше, но лень расписывать вычисления).
ToBinary - функция перевода числа из десятичной СС в двоичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
FromBinary - функция перевода числа из двоичной СС в десятичную. Можно писать любой алгоритм, необязательно в точности использовать мой.
func - функция, которая выполняет преобразования числа согласно условию (пункты 1, 2, 3, 4).
Код кажется большим только из-за процедур и begin/endов. Без них - всего то 7 строчек :). В скринах можно проверить, действительно ли 19 (40-22+1).
Пример работы:
Задание 1
#include <iostream>
#include <string>
using std::cout;
using std::cin;
using std::endl;
int main()
{
int arr[10]; //если у тебя дни недели то заменяй int на string
// Заполняем массив с клавиатуры
for (int i = 0; i < 10; i++) {
cout << "[" << i + 1 << "]" << ": ";
cin >> arr[i];
}
// И выводим заполненный массив.
cout << "\nВаш массив: ";
for (int i = 0; i < 10; ++i) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
Объяснение:
Поделитесь своими знаниями, ответьте на вопрос:
1.при угадывании целого числа в диапазоне от 1 до n было получено 7 бит информации. чему равно n? 2. при угадывании целого числа в некотором диапазоне было получено 6 бит информации. сколько чисел содержит этот диапазон? тут две . но они подобные. низнаю !
1. 7 бит это 2 в седьмой степени, что равно 128, но если считать с нуля то конечное число 127
2. 6 бит это 2 в шестой степени, что равно 64 числам как не считай, хоть от 1 до 64 хоть от 0 до 63 включительно