во всех этих задачах используются 2 формулы (объем)I=k*i; (мощность)N=2^i
1) 8=2^i => i=3, объём= 3*20=60 бит
2)вес одного символа 4096/1024=4 бит => i=4, мощность (N) = 2^i => N=2^4=16
3)12288/8=1536 байт, далее 1536/1024=1,5 Кбайт
4)для начала переведем объем кбайт и биты. (из предыдущей задачи это 12288 бит); после найдем i i=12288/4096=3. далее мощность (N)=2^3=8
5)один символ занимает 4 бита (2^4=16) 1/64 часть мегабайта = 1024 * 1024 * 8 / 64 = 131072 бита значит 131072 / 4= 32768 символов.
6)находим количество(k) 4*30*50=6000, кол-во информации (объем (I) ) из байт переводим в бит. 4500*8=36000 бит. далее находим i; i=I(объем)/k(кол-во); i=36000/6000=6. N=2^6=64.
7)может не 1,5*1023, а 1,5*10^23? N=4; i=2. находим объём 2*1,5*10^23. I=3*10^23.
8)всего двухзначных чисел 100. (00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12 и тд. ) значит 2^i=100. близжайшее значение i в данном случае 7. Так как если 6, то 2^6=64, 100-64=36. если i=7, то 2^7=128. 100-128=-28 (ну по факту разница в 28 единиц.) что ближе 36 или 28? следовательно ответ 7.
USES CRT;
VAR m1,m2,n,n1,n2,n3,n4,n5,n6,s1,s2:LongInt;
BEGIN
ClrScr;
ReadLn(n);
m1:=n;
n1:=m1 div 100;
n2:=m1 mod 10;
n3:=(m1-n1*100-n2) div 10;
if n1=n2 then if n1=n3 then writeln('vse =');
if n1=n2 then writeln('1 i 3 =');
if n2=n3 then writeln('2 i 3 =');
if n1=n3 then writeln('1 i 2 =')
else writeln('<>');
END.
Проверяйте, что непонятно - спрашивайте.
Можно чуть поправить вывод, чтобы когда vse =, не вылезали 1 i 3, 1 i 2, 2 i 3.
Да и вообще writeln'ов можно наставить и переменные назвать покрасивше. но это уж вы сами, думаю, справитесь. В VAR у меня тоже есть лишние переменные, переделывал старый свой код наспех =)
Всего хорошего.