1.
а) 512 Мбайт = 512 * 8 Мбит = 4096 Мбит
б) 32 Кбайт = 32 * 8 Кбит = 256 Кбит
2.
а) 32 Мбит = 32 : 8 Мбайт = 4 Мбайт
б) 1024 Кбит = 1024 : 8 Кбайт = 128 Кбайт
3. Все зависит от кодировки. Если 1 символ занимает 1 байт, тогда сообщение будет занимать столько байт, сколько символов в сообщении (буквы, пробелы, точки и любые другие символы) - в данном случае - 20 байт.
Если же 1 символ занимает 2 байта (к примеру в кодировке юникод UTF-16), тогда сообщение будет занимать 40 байт.
4. 4 гигабайта = 4096 Мбайт.
4096 / 2 = 2048 картинок поместится на флешке размером 4 гигабайт
Последний вопрос не понял. Посчитать 2 в 32 степени?
//Версия 3.3, сборка 1634 (14.02.2018)
begin
var (cost, t, k) := (Arr(15, 70, 125, 230, 440), Arr(1, 5, 10, 20, 60), new integer[5]);
var n := ReadInteger('n->');
for var i := 4 downto 0 do
begin
k[i] := n div t[i];n := n mod t[i];
end;
if k[0] * cost[0] >= cost[1] then begin k[0] := 0;inc(k[1]); end;
if k[0] * cost[0] + k[1] * cost[1] >= cost[2] then
begin
k[0] := 0;k[1] := 0;inc(k[2]);
end;
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] >= cost[3] then
begin
k[0] := 0;k[1] := 0;k[2] := 0;inc(k[3]);
end;
if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] >= cost[4] then
begin
k[0] := 0;k[1] := 0;k[2] := 0;k[3] := 0;inc(k[4]);
end;
for var i := 0 to 4 do WritelnFormat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.
Пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)
Пример(2):
n-> 35
1 билет(ов)- 0 штук(а)
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)