Var
A,C,k:real;
Begin
Write('A = ');ReadLn(A);
Write('C = ');ReadLn(C);
k:=0;
While A<=C do
Begin
A:=A*1.25;
k:=k+1;
End;
WriteLn('k = ',k)
End.
Перевод числа из десятичной системы счисления в систему по основанию k делается в два шага.
На первом шаге нужно делить исходное число на k нацело и выписывать остатки от деления. Результат деления снова делим на k и повторяем, пока не получим 0.
121 / 2 = 60, остаток 1
60 / 2 = 30, остаток 0
30 / 2 = 15, остаток 0
15 / 2 = 7, остаток 1
7 / 2 = 3, остаток 1
3 / 2 = 1, остаток 1
1/2 = 0, остаток 1
На втором шаге выписываем остатки в обратном порядке, получая результат: 1111001
Итак, 121₁₀ = 1111001₂ и в двоичном представлении пять единиц.
Ответ: 5
Тут нужно перевести число из одной системы счисления в другую. Как это сделать? Легко и просто.
Для начала давай нарисуем таблицу тетрад: пишем сначала в столбик 8 нулей, затем 8 единиц, во втором ряду пишем уже 4 нуля, затем 4 единицы, а потом повторяем эту запись. С третьим и четыертым рядами проделываем такое же действие. Затем каждой тетраде(ряду) присвоим значение цифрами от 0 до 9 и буквами латинского алфавита от А до F. Затем отделим для удобства вложенную в таблицу тетрад таблицу триад. Должна получиться таблица как на рисунке.
Для чего она нам нужна? Для упрощения перевода чисел в системах счисления, основаниями которых являются степени двойки.
Так как перевести числа с одной системы счисления в другую? Например, число 1001001 двоичной системы счисления в десятичную? Начертим над числом справа налево ряд цифр от 0. Затем, умножим каждую цифру в этом числе на основание(2) в степени, которая надписана над этой цифрой и сложим то, что получится(нули пропустим, по понятным причинам):
1 × 2 в 6 + 1 × 2 в 3 + 1 × 2 в 0 = 64 + 8 + 1 = 73
Это что касается перевода с 2-ой в 10-ую.
С 2-ой в 8-ую и в 16-ую переводить гораздо проще. Для этого воспользуемся нашей таблицей. Для перевода в 8-ую нужна таблица триад, для 16-ой - тетрад. Переведем наше число, например, в 8-ую систему. Разбиваем наше число в 2-ой системе на триады. Получаем:
1 | 001 | 001
Первая триада не полная, её можно дополнить нулями, а можно просто знать, что 1 и 001 - одно и тоже. Теперь слева направо сверяемся с таблицой триад и записываем нужную цифру.
001 - это 1. Значит мы получим число 111.
Для 16-ой действия аналогичные, только мы разбиваем на тетрады:
100 | 1001
4 9
49
Для перевода чисел в системах с основаниями степеней двойки в 2-ую, нам поможет все та же таблица. Теперь мы смотрим какой тетради (триаде/диаде) соответствует каждая цифра числа. Например, переведем 49 16-ой в 2-ую:
4 9
01001001
С остальными примерами также проделываем.
В результате должна получиться такая таблица:
*После точки идет основание числа*
Строка 1:
1001001•2
111•8
73•10
49•16
Строка 2:
10101001•2
251•8
169•10
А9•16
Строка 3:
100001000•2
410•8
264•10
108•16
Строка 4:
111000000•2
448•10
700•8
1С0•16
Var mass:array[1..14] of integer;
i,sumch,sumnech:integer;
begin
i:=0;
sumch:=0;
sumnech:=0;
repeat
i:=i+1;
mass[i]:=random(10)+1;
if (mass[i] mod 2) =0
then sumch:=sumch+mass[i]
else sumnech:=sumnech+mass[i];
writeln(mass[i]);
until i=14;
writeln('сумма четных = '+sumch);
writeln('сумма нечетных = '+sumnech);
end.
развернутая запись числа будет такой:7*x^1+7*x^0=70, (^ - возведение в степень),отсюда x=9