Информатика, опубликовано 07.06.2020 04:18
Дан алгоритм. Определить, что он делает, и добавьте текст внутри ‘ ‘ в команды вывода в
конце алгоритма.
Program test;
Const N=20;
Var b :array [1..N] of Integer;
i,min1,min2,p1,p2 :Integer;
Begin
For i:=1 to N do begin
b[i]:=random(80)+20; write(b[i]:3); end;
writeln;
min1:=b[1];
min2:=b[1];
For i:=1 to N do
Begin
If (b[i] mod 2<>0) and (b[i] begin min1:=b[i]; p1:=i; end;
If (b[i] mod 2=0) and (b[i] begin min2:=b[i]; p2:=i; end;
end;
Writeln(' ',min1,' ',p1);
Writeln(' ',min2,' ',p2);
If p1>p2 then Writeln(' ',min2,' ')
else Writeln(' ',min1,' ')
End.
Паскаль
Ответ оставил: Гость
10 -> 2
2018 / 2 = 1009. Остаток 0.
1009 / 2 = 504. Остаток 1.
504 / 2 = 252. Остаток 0.
252 / 2 = 126. Остаток 0.
126 / 2 = 63. Остаток 0.
63 / 2 = 31. Остаток 1.
31 / 2 = 15. Остаток 1.
15 / 2 = 7. Остаток 1.
7 / 2 = 3. Остаток 1.
3 / 2 = 1. Остаток 1.
Берём ответ последнего деления и идём по остаткам от конца до начала.
11111100010
2 -> 16
От конца берём по 4 цифры и считаем их значение по заранее составленной таблице.
[111][1110][0010] = [7][14][2] = 7E2
16 ->10
Нумеруем цифры от конца до начала индексами в порядке возрастания, начиная от 0, впоследствии каждую цифру нужно умножить на порядок той системы счисления, из которой производится перевод (16), возведённой в степень, равную индексу, и всё сложить.
7E2 = [7][14][2] = 7 * 16^2 + 14 * 16^1 + 2 * 16^0 = 1792 + 224 + 2 = 2018
2018 / 2 = 1009. Остаток 0.
1009 / 2 = 504. Остаток 1.
504 / 2 = 252. Остаток 0.
252 / 2 = 126. Остаток 0.
126 / 2 = 63. Остаток 0.
63 / 2 = 31. Остаток 1.
31 / 2 = 15. Остаток 1.
15 / 2 = 7. Остаток 1.
7 / 2 = 3. Остаток 1.
3 / 2 = 1. Остаток 1.
Берём ответ последнего деления и идём по остаткам от конца до начала.
11111100010
2 -> 16
От конца берём по 4 цифры и считаем их значение по заранее составленной таблице.
[111][1110][0010] = [7][14][2] = 7E2
16 ->10
Нумеруем цифры от конца до начала индексами в порядке возрастания, начиная от 0, впоследствии каждую цифру нужно умножить на порядок той системы счисления, из которой производится перевод (16), возведённой в степень, равную индексу, и всё сложить.
7E2 = [7][14][2] = 7 * 16^2 + 14 * 16^1 + 2 * 16^0 = 1792 + 224 + 2 = 2018
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01