Диапазон записываемых температур равен:39 - 35 = 4 градусаПри записи с точностью 0,1 градус, число возможных значений температуры в этом диапазоне составляет:4 / 0,1 + 1 = 40 + 1 = 41 значениеЧтобы объяснить, почему так считается, возьмём пример попроще: диапазон 10 градусов (от нуля до 10 градусов), с точностью 5 градусов. При этом, наш диапазон нужно поделить на отрезки длиной в 5. Это и делается операцией деления: 10 / 5 = 2. То есть, будет два таких отрезка, и соответственно, две температуры на концах этих отрезков- это 5 и 10 градусов. Но, кроме этих двух точек- есть ещё одна точка- начало первого отрезка, температура 0 градусов. Вот, чтобы посчитать эту начальную точку, и нужно прибавить единицу. И, общее число возможных температур будет равно 10 / 5 + 1 = 3 (это температуры 0, 5 и 10 градусов)
Подберём число бит, достаточное для хранения 41 возможного значения:например, 4 бита достаточно для хранения значений (то есть, нам не подойдёт, у нас значений больше)5<span>
бит - это </span>
<span>
значения (не подойдёт)6</span><span>
бит - это </span>
<span>
значения (хватит для хранения наших данных)Ответ: требуется зарезервировать 6 бит.Если вдруг вы уже проходили логарифмы, то количество бит для хранения наших данных можно посчитать так:
</span>
Далее, если бы в результате получилось бы целое число, это бы и было нужное количество бит для хранения.
А для дробного- округляем с избытком (т.е. в большую сторону) до ближайшего целого. Получится шесть бит.
Если на вашем калькуляторе не посчитать логарифм по основанию два, то можно воспользоваться формулой замены основания логарифма, что позволит посчитать через десятичный или натуральный логарифм:
Как понял. Задаешь два вектора. И начинаешь сравнивать значения первого вектора, со значениями второго. Если какие то значения окажутся равными. то записать какой слот они занимают в первом векторе. После проверки всех чисел, удалить запомненные слоты в первом векторе
const T=50;
var a: array [1..T,1..T] of integer;
i,j,n,m:integer;
begin
write('Введите n: ');
readln(n);
write('Введите m: ');
readln(m);
for i:=1 to n do
for j:=1 to m do readln(a[i,j]);
for i:=1 to n do
for j:=1 to m do if i=j then a[i,j]:=a[i,j]*2;
for i:=1 to n do
begin
for j:=1 to m do write(a[i,j],' ');
writeln;
end;
end.
Учитывая вопрос, ответом будет
"Да, я справлюсь"
или
"Нет, я не справлюсь"
Смотря что больше нравится