Зная количество бит в двоичной записи числа, можно посчитать количество бит в восьмеричной записи, так как из двоичной в восьмеричную систему счисления число можно привести группировкой по трем соседним разрядам, начиная с младших. Например, есть число 1100111. Сгруппируем его разряды: (1)(100)(111)=147 - в восьмеричной СС. Пусть количество разрядов 2-ичного числа равно n. Тогда количество разрядов восьмеричного числа будет n/3, деленное нацело и округленное вверх. n=7 => n/3=7/3. Округляем, будет 3. a) 10111010. n=8 => 8/3 - 3 8-ричных разряда б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов. г) 1375BE. 1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов
1. Программа в одной из современных версий Паскаля:
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016 begin var s:=ReadlnString('Исходная строка:'); Writeln('Результат: ',s.MatchValues('[a-zA-ZА-Яа-яёЁ]').JoinIntoString('')); end.
// PascalABC.NET 3.1, сборка 1211 от 31.03.2016 const legal=['A'..'Z','a'..'z','А'..'Я','а'..'я','Ё','ё']; var s:string; i:integer; begin Write('Исходная строка: '); Readln(s); for i:=Length(s) downto 1 do if not(s[i] in legal) then Delete(s,i,1); Writeln('Результат: ',s); end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку