Переведите количество информации в другие единицы измерения, используя степени числа 2.
пример : 2 мбайта = 2 • 2^10 кбайт = 2^11 кбайт= 2^11 • 2^10 байт = 2^21 байт
1) 16 кбайт =_ кбайт=_байт=_бит=_бит.
2) 2^15 кбайт =_мбайт=_мбайт
3)2^17 бит=_байт=_байт=_кбайт=_кбайт
4) 32 гбайт=_гбайт=_мбайт=_мбайт=_кбайт=_кбайт
5) 2^23 байт=_байт=_кбайт=_кбайт=_мбайт=_мбайт
6) 64 мбайт=_мбайт=_кбайт=кбайт=_байт=_байт
Var
s,sr:string;
i,j,n:integer;
pr:array of char=('.',',',';',':','!','?');
begin
readln(s);
s:=s.Trim;
var ars:=s.ToWords();
s:='';
for i:=0 to ars.Length-1 do
s+=ars[i]+' ';
s:=s.Trim;
i:=0;
while i<>s.Length do
begin
inc(i);
if (s[i] in pr) and (s[i-1]=' ') then delete(s,i-1,1);
end;
i:=0;
while i<>s.Length-1 do
begin
inc(i);
if (s[i] in pr) and (s[i+1]<>' ') then insert(' ',s,i+1);
end;
s:=s.Trim;
writeln(s);
end.
Пример ввода:
Очень, очень ,очень , очень ,очень,очень много слов.
Пример вывода:
Очень, очень, очень, очень, очень, очень много слов.
var
s,s1:string;
mn:set of char;
i,l:integer;
begin
writeln('Введите строку:');
readln(s);
mn:=['.',',',';',':','!','?'];
while s[1]=' ' do delete(s,1,1);
while s[length(s)]=' ' do delete(s,length(s),1);
while pos(' ',s)>0 do delete(s,pos(' ',s),1);
s1:=s[1];
for i:=2 to length(s)-1 do
if not((s[i]=' ')and(s[i+1] in mn)) then s1:=s1+s[i];
s1:=s1+s[length(s)];
s:=s1[1];
for i:=2 to length(s1)-1 do
if (s1[i] in mn)and(s1[i+1]<>' ') then s:=s+s1[i]+' ' else s:=s+s1[i];
s:=s+s1[length(s1)];
writeln(s);
end.
Пример:
Введите строку:
Дана строка ,состоящая из слов , разделенных пробелами .
Дана строка, состоящая из слов, разделенных пробелами.