Делим число в десятичной системе на основание числа, которое мы хотим получить, то есть на 2:
200 / 2 = 100 (0), где 0 - это остаток. Действительно, 2 · 100 + 0 = 200
100 / 2 = 50 (0)
50 / 2 = 25 (0)
25 / 2 = 12 (1), 2 · 12 + 1 = 24 + 1 = 25. Это можно представить так: у Вас есть 25 яблок и 2 друга, между которыми нужно поровну разделить все яблоки. Вы можете обоим дать только по 12 яблок, а останется 1. Это и будет остаток.
12 / 2 = 6 (0)
6 / 2 = 3 (0)
3 / 2 = 1 (1)
1 / 2 = 1 (1), применим на том же примере с яблоками: у нас есть одно яблоко и 2 друга, а нужно разделить количество яблок поровну, не деля яблоко пополам. У Вас сделать это не получится, поэтому у Вас остаётся 1 яблоко, то есть остаток.
Const n=10;m=7; var a:array[1..n,1..m]of integer; flag,i,j,b:integer; begin for i:=1 to n do begin writeln; for j:=1 to m do begin a[i,j]:=random(312)-111; write(a[i,j]:4); end; end; writeln; Writeln('B ?'); readln(b); for i:=1 to n do for j:=1 to m do if a[i,j]=b then flag:=1; if flag=1 then writeln('Yes') else writeln('N'); end.
вариант 2 const n=10;m=7; var a:array[1..n,1..m]of integer; k,i,j,b:integer; begin for i:=1 to n do begin writeln; for j:=1 to m do begin a[i,j]:=random(312)-111; write(a[i,j]:4); end; end; writeln; Writeln('B ?'); readln(b); for i:=1 to n do for j:=1 to m do if a[i,j]=b then k:=k+1; if k<>0 then writeln('Yes') else writeln('N'); end.
Делим число в десятичной системе на основание числа, которое мы хотим получить, то есть на 2:
200 / 2 = 100 (0), где 0 - это остаток. Действительно, 2 · 100 + 0 = 200
100 / 2 = 50 (0)
50 / 2 = 25 (0)
25 / 2 = 12 (1), 2 · 12 + 1 = 24 + 1 = 25. Это можно представить так: у Вас есть 25 яблок и 2 друга, между которыми нужно поровну разделить все яблоки. Вы можете обоим дать только по 12 яблок, а останется 1. Это и будет остаток.
12 / 2 = 6 (0)
6 / 2 = 3 (0)
3 / 2 = 1 (1)
1 / 2 = 1 (1), применим на том же примере с яблоками: у нас есть одно яблоко и 2 друга, а нужно разделить количество яблок поровну, не деля яблоко пополам. У Вас сделать это не получится, поэтому у Вас остаётся 1 яблоко, то есть остаток.
Теперь "собираем" остатки снизу вверх:
11001000₂ - это и будет наш двоичный код.
ответ11001000
n=10;m=7;
var
a:array[1..n,1..m]of integer;
flag,i,j,b:integer;
begin
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
a[i,j]:=random(312)-111;
write(a[i,j]:4);
end;
end;
writeln;
Writeln('B ?');
readln(b);
for i:=1 to n do
for j:=1 to m do
if a[i,j]=b then
flag:=1;
if flag=1 then
writeln('Yes')
else
writeln('N');
end.
вариант 2
const
n=10;m=7;
var
a:array[1..n,1..m]of integer;
k,i,j,b:integer;
begin
for i:=1 to n do
begin
writeln;
for j:=1 to m do
begin
a[i,j]:=random(312)-111;
write(a[i,j]:4);
end;
end;
writeln;
Writeln('B ?');
readln(b);
for i:=1 to n do
for j:=1 to m do
if a[i,j]=b then
k:=k+1;
if k<>0 then
writeln('Yes')
else
writeln('N');
end.