M = [] n=20 base=2 for i in 0...(base**n) bin = i m[i]=[] for j in 0...n m[i][j] = bin % base bin/=base end end
start = 17 stop=729 min="22222222222222222222222222" s="" m.each do |ops| num = start s="" ops.each do |op| if op==0 num+=1 s+="1" else num*=2 s+="2" end if num >= stop then break end end # if (num == stop) then p s end if (num == stop) and (s.size<min.size) then min=s end end p min
0,5 Кбайт = 0,5*1024 байт = 512*8 бит
512*8/128 = 32
2.
Память для одного символа = log(2)64=6 бит
Объем текста = 10*32*64*6 бит = 10*32*64*6/8 байт =
10*4*64*6/1024 Кбайт = 15 Кбайт
3.
3 Кбайт = 3*1024 байт = 3*1024*8 бит
Память для одного символа = 3*1024*8/6144 = 4 бита
Количество символов в алфавите = 2^4 = 16
4.
Память для одного символа = log(2)128=7 бит
Объем сообщения = 10*7 = 70 бит
8.
a) 3 Кбайт=3*1024 Байт = 3072 бАЙТ
b) 2 Мбайт=2*1024 Кбайт = 2*1024*1024 байт = 2*1024*1024*8 бит = 16777216 бит
c) 4,5 Гигабайт=4,5*1024 Мбайт = 4,5*1024*1024 Кбайт = 4718592 Кбайт
n=20
base=2
for i in 0...(base**n)
bin = i
m[i]=[]
for j in 0...n
m[i][j] = bin % base
bin/=base
end
end
start = 17
stop=729
min="22222222222222222222222222"
s=""
m.each do |ops|
num = start
s=""
ops.each do |op|
if op==0
num+=1
s+="1"
else
num*=2
s+="2"
end
if num >= stop then break end
end
# if (num == stop) then p s end
if (num == stop) and (s.size<min.size) then
min=s
end
end
p min
"1111121212221"