Считаем как было написано выше, то есть:
1. 1101010101101000101010101000001001000101001100101(2)-> Х (8)
Так как 8 = 2^3 (восемь - это два в третьей степени), то значит каждые три двоичных разряда будут соответствовать одному разряду восьмеричного числа. Поэтому, группируем разряды двоичного числа по три (начиная естественно с младшего разряда числа, то есть справа):
001 101 010 101 101 000 101 010 101 000 001 001 000 101 001 100 101
слева осталась одна единица (я для красоты её дополнил двумя незначащими нулями слева)
Затем полученные группы цифр переводим по таблице, и получаем вместо каждой группы- одну цифру:
15255052501105145 (8) -это и есть наше восьмеричное число
Можно переводить не по таблице, а считать. Например: 110(2) = 1*2^2 +1*2^1 +0*2^0 = 1*4 + 1*2 + 0*1 = 4+2+0 = 6 (8) -считаем всё по правилам десятичной системы(хоть на обычном калькуляторе :)
Дальше делаем по аналогии:
2. 1010111111111111111111111100000010101000000(2)-> Х (16)
Так как 16 = 2^4 , то каждые четыре двоичных разряда будут соответствовать одному разряду шестнадцатеричного числа. Поэтому, группируем разряды двоичного числа по четыре:
0101 0111 1111 1111 1111 1111 1110 0000 0101 0100 0000
слева остались три цифры (я опять дописал к ним незначащий нуль, чтобы получить группу из четырёх цифр)
Опять группы цифр переводим по таблице, и получаем вместо каждой группы цифр- один символ (в шестрадцатеричной системе используются не только цифры, но и буквы):
57FFFFE0540 (16) -вот наш ответ
Можно не по таблице, а считать. Например: 1101(2) = 1*2^3 +1*2^2 +0*2^1 +1*2^0 = 1*8 + 1*4 + 0*2 + 1*1 = 8+4+0+1 = 13 (10) = D (16) -здесь тоже считаем в десятичной системе(результат от 0 до 9 в шестнадцатеричную перевода не требует, а далее переводим так: 10=A, 11=B, 12=C, 13=D, 14=E, 15=F )
3. 12120011212121210121210112(3)-> Х (9)
Так как 9 = 3^2 , то каждые два троичных разряда будут соответствовать одному разряду девятеричного числа. Поэтому, группируем разряды троичного числа по два:
12 12 00 11 21 21 21 21 01 21 21 01 12
(здесь всё разбилось ровно, ничего дописывать не пришлось)
Переводим по таблице, и получаем вместо двух цифр- одну:
5504777717715 (9) -ответ
Тоже можно считать. Например: 22(3) = 2*3^1 + 2*3^0 = 2*3 + 2*1 = 6 + 2 =
= 8 (9) -опять же, все расчёты по правилам десятичной арифметики.
//PascalABC.NET
//Версия 3.3. сборка 1583 (25.11.2017)
begin
var a:=ArrRandom(ReadInteger('Введите размер массива: '),-20,20); a.Println;
var s:=1;
var max:=0;
for var i:=0 to a.Length-2 do
begin
if a[i]<a[i+1]
then s+=1
else
if s>max
then max:=s
else s:=1;
end;
Println('Максимальная длина неубывающего участка-> ',max);
s:=0;
max:=0;
var maxi:=0;
for var i:=0 to a.Length-1 do
begin
for var j:=0 to a.Length-1 do
if a[i]=a[j] then s+=1;
if s>max then begin max:=s; maxi:=i; end;
s:=0;
end;
If max=1 then Println('Числа повторяются одинаково')
else Println('Наиболее повторяющееся число->',a[maxi]);
end.
Немного короче, но сложнее в восприятии будет, я думаю
Пример:
17 = (5 * 3 - 7) * 3 - 7
Количество команд - 4; (Действие с числом = 1 команда)
Ответ:
70
Объяснение:
всего в цикле 10 повторений(k:=1 to 10)
с каждым повтором к переменной s прибавляется 7, начальное s=0=>
s=0+ 7*10=70