Var
M, N: integer;
begin
read(M, N);
var ar := arrrandom(10, N, M);
writeln('Полученный массив:');
ar.Println;
end.
Чтобы перевести десятичное число в 2-чную систему, нужно это число последовательно делить на 2 с остатком. Например, переведём 83.
Делим
83 : 2 = 41 (остаток 1)
41 : 2 = 20 (остаток 1)
20 : 2 = 10 (остаток 0)
10 : 2 = 5 (остаток 0)
5 : 2 = 2 (остаток 1)
2 : 2 = 1 (остаток 0)
Теперь выписываем последний результат деления (у нас это 1) и после него все остатки в обратном порядке: 0 1 0 0 1 1
Получается число 1010011
Проверяем:
![1010011_{2} = 1*2^{6}+0*2^{5}+1*2^{4}+0*2^{3}+0*2^{2}+1*2^{1}+1*2^{0}=1*64+0*32+1*16+0*8+0*4+1*2+1*1=64+0+16+0+0+2+1=83_{10}](https://tex.z-dn.net/?f=1010011_%7B2%7D+%3D+1%2A2%5E%7B6%7D%2B0%2A2%5E%7B5%7D%2B1%2A2%5E%7B4%7D%2B0%2A2%5E%7B3%7D%2B0%2A2%5E%7B2%7D%2B1%2A2%5E%7B1%7D%2B1%2A2%5E%7B0%7D%3D1%2A64%2B0%2A32%2B1%2A16%2B0%2A8%2B0%2A4%2B1%2A2%2B1%2A1%3D64%2B0%2B16%2B0%2B0%2B2%2B1%3D83_%7B10%7D)
Я так понимаю, нужно число страниц найти.
9408 / (log2(256) / 8 * 28 * 48) = 7 страниц.
Итак, нужно найти число групп, в каждой из которых ни одно из чисел не делит все остальные.
Строим группы так:
(1) - 1
(2) - 2, 3, 5, 7, 11, 13... - все простые
(3) - 4, 6, 9, 10, 14, 15... - произведения двух простых
...
(k) - произведения (k - 1) простых
И так пока не кончатся все числа. Поскольку в каждой группе наименьшее число 2^(k - 1), то k - минимальное, для которого 2^(k - 1) > N
По построению явно во всех группах ни одно число не делится на другое. Осталось проверить, что получено минимальное число групп.
Это очевидно: числа 1, 2, 4, ..., 2^(k-1) должны быть в разных группах.
Решение:
n = int(input())
t = 1
k = 0
while t <= n:
t *= 2
k += 1
print(k)
uses crt;
var s: string;
begin
writeln('Напишите слово');
readln(s);
writeln('ма',s);
writeln(s[1],s[2],s[3],s[4]);
end.