Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.
type
base = record
id: integer;
ball: integer;
end;
var
t: text;
a: array of array of integer;
n: integer;
st, tmp: string;
err: integer := 1;
database: base;
begin
readln(n);
setlength(a, n);
for i: integer := low(a) to high(a) do
setlength(a[i], 2);
readln(st);
tmp := st;
delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);
database.id := strtoint(tmp);
delete(tmp, 1, pos(' ', tmp, err));
database.ball := strtoint(tmp);
a[i, 0] := database.id;
a[i, 1] := database.ball;
var j: integer := 0;
assign(t, 'output.txt');
rewrite(t);
while (j <= high(a)) do
if (j + 1 < high(a)) and (a[j, 1] = a[j + 1, 1]) then
if (a[j, 0] < a[j + 1, 0]) then begin
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
end else begin
if (j+1=n) then
inc(j, 2);
close(t);
end.
Объяснение:
1. Пронумеруем разряды:
3-й разряд - 4;
2-й разряд - 1;
1-й разряд - 5;
0-й разряд - 3.
4153₈=4·8³+1·8²+5·8¹+3·8⁰
2. 4153₈=4·8³+1·8²+5·8¹+3·8⁰=2048+16+40+3=2155₁₀
3. 125/8=15 (5)
15/8=1 (7)
(1)
125₁₀=175₈
4. Пронумеруем разряды:
2-й разряд - A;
1-й разряд - 6;
0-й разряд - E;
A6E₁₆=(10)(6)(14)=10·16²+6·16¹+14·16⁰
5. A6E₁₆=10·16²+6·16¹+14·16⁰=2560+96+14=2670₁₀
6. 350/16=21 (14=E)
21/16=1 (5)
(1)
350₁₀=15E₁₆
7. 247/2=123 (1)
123/2=61 (1)
61/2=30 (1)
30/2=15 (0)
15/2=7 (1)
7/2=3 (1)
3/2=1 (1)
(1)
247₁₀=11110111₂
247/8=30 (7)
30/8=3 (6)
(3)
247₁₀=367₈
247/16=7 (15=F)
(7)
247₁₀=7F₁₆
Получившиеся числа между собой равны, так как имеют одинаковое число в десятичной системе счисления.
type
base = record
id: integer;
ball: integer;
end;
var
t: text;
a: array of array of integer;
n: integer;
st, tmp: string;
err: integer := 1;
database: base;
begin
readln(n);
setlength(a, n);
for i: integer := low(a) to high(a) do
setlength(a[i], 2);
for i: integer := low(a) to high(a) do
begin
readln(st);
tmp := st;
delete(tmp, pos(' ', tmp, err), tmp.Length - pos(' ', tmp, err) + 1);
database.id := strtoint(tmp);
tmp := st;
delete(tmp, 1, pos(' ', tmp, err));
database.ball := strtoint(tmp);
a[i, 0] := database.id;
a[i, 1] := database.ball;
end;
var j: integer := 0;
assign(t, 'output.txt');
rewrite(t);
while (j <= high(a)) do
begin
if (j + 1 < high(a)) and (a[j, 1] = a[j + 1, 1]) then
if (a[j, 0] < a[j + 1, 0]) then begin
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
end else begin
write(t, inttostr(a[j + 1, 0])); write(t, ' '); write(t, inttostr(a[j + 1, 1])); writeln(t,'');
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
end;
if (j+1=n) then
write(t, inttostr(a[j, 0])); write(t, ' '); write(t, inttostr(a[j, 1])); writeln(t,'');
inc(j, 2);
end;
close(t);
end.