Запишем условие задачи:
Поскольку в сообщениях одинаковое количество символов, то К1=К2. Соотношение количества информации можно записать как I1=1.5*I2. Общее кол-во символов в алфавите обозначается буквой N, по условию N1<=10, N2<=10.
Решение: I1=K1*i1; I2=K2*i2; Подставим в условие I1=1.5*I2 значения I1 и I2. Получаем K1*i1=1.5*K2*i2
Сократим в обеих частях уравнения К1 и К2, у нас останется
i1=1.5*i2
По условию мощности обоих алфавитов не превышают число 10, запишем это так
10>=2 в степени i1
10>=2 в степени i2
Предположим, что i2=1 бит, тогда i1=1.5 бита (а это противоречит условию)
Предположим, что i2=2 бита, тогда i1=3 бита -это и есть ответ задачи
Поделитесь своими знаниями, ответьте на вопрос:
Входные данные вводятся целые числа a и b. гарантируется, что a не превосходит b. выходные данные выведите все числа на отрезке от a до b, являющиеся полными квадратами. если таких чисел нет, то ничего выводить не нужно. примеры входные данные 1 1 выходные данные 1 входные данные 2 8 выходные данные 4 заранее .
begin
var a,b:integer;
Read(a,b);
Range(Trunc(Sqrt(a)),Trunc(Sqrt(b))).Select(n->n*n).Where(x->x>=a).Println
end.
Тестовое решение
3 150
4 9 16 25 36 49 64 81 100 121 144