дан список натуральных чисел. используя оператор создания списка, построить список, содержащий все элементы заданного списка, которые являются полными квадратами.
Восьмеричная: двоичное число разбиваем на триады с конца и переводим в десятичную 1000110010010 - 2 110 - 6 000 - 0 001 - 1 ответ - 1062 в восьмеричной
16 ричная: разбиваем на тетрады 0010 - 2 0011 - 3 0010 - 2 ответ 232 в 16ричной
Десятичная:
1000110010 = 1∙2^9+0∙2^8+0∙2^7+0∙2^6+1∙2^5+1∙2^4+0∙2^3+0∙2^2+1∙2^1+0∙2^0 = 512+0+0+0+32+16+0+0+2+0 = 562 в десятичной
чтобы перевести в любую другую систему можно взять десятичное число (в данном случае 562) и перевести в нужную систему (например в троичную). (ответ в приложении)
1) function numb(n:integer):integer; var n,ch,st,max:integer; begin st:=1; max:=-1; ch:=n mod 10; n:=n div 10; while(n>0)do begin ch:=ch+(n mod 10)*st; n:=n div 10; st:=st*2; end; while(ch>0)do begin if(ch mod 10>max)then max:=ch mod 10; ch:=ch div 10; end; numb:=max; end; 2) function yravn(a,b:integer):integer; begin yravn:=-b div a; end;
двоичное число разбиваем на триады с конца и переводим в десятичную
1000110010010 - 2
110 - 6
000 - 0
001 - 1
ответ - 1062 в восьмеричной
16 ричная:
разбиваем на тетрады
0010 - 2
0011 - 3
0010 - 2
ответ 232 в 16ричной
Десятичная:
1000110010 = 1∙2^9+0∙2^8+0∙2^7+0∙2^6+1∙2^5+1∙2^4+0∙2^3+0∙2^2+1∙2^1+0∙2^0 = 512+0+0+0+32+16+0+0+2+0 = 562 в десятичной
чтобы перевести в любую другую систему можно взять десятичное число (в данном случае 562) и перевести в нужную систему (например в троичную). (ответ в приложении)
function numb(n:integer):integer;
var
n,ch,st,max:integer;
begin
st:=1;
max:=-1;
ch:=n mod 10;
n:=n div 10;
while(n>0)do
begin
ch:=ch+(n mod 10)*st;
n:=n div 10;
st:=st*2;
end;
while(ch>0)do
begin
if(ch mod 10>max)then
max:=ch mod 10;
ch:=ch div 10;
end;
numb:=max;
end;
2)
function yravn(a,b:integer):integer;
begin
yravn:=-b div a;
end;