В ( ) степень числа
1) Определите количество натуральных чисел, удовлетворяющих неравенству:
11010110(2)
2) Вычислите значение выражения
157(8)−1101011(2).
В ответе запишите вычисленное значение в десятичной системе счисления.
3) Во Для каждого из перечисленных ниже десятичных чисел построили двоичную запись. Укажите все числа, двоичная запись которых содержит ровно 4 единицы.
Укажите один или несколько правильных вариантов ответа:
15
27
23
18
21
4) Сколько целых чисел удовлетворяет неравенству 156(8)≤x≤7E(16)
ответ дайте в десятичной системе счисления, в ответе запишите только число.
5) Укажите наибольшее четырёхзначное восьмеричное число, двоичная запись которого содержит 4 единицы. В ответе запишите только само восьмеричное число, основание системы счисления указывать не нужно.
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).a: array [,] of integer;
begin
var n := ReadlnInteger('n = ');
var m := ReadlnInteger('m = ');
var rand := ReadlnInteger('Для ручного ввода нажмите 0');
if rand = 0 then begin
a := new integer[m, n];
for var i := 0 to m-1 do
for var j := 0 to n-1 do
a[i, j] := ReadlnInteger('a[' + i + ',' + j + '] = ');
end
else a := MatrixRandom(m, n, 1, 100);
Println(a);
var b := ArrGen(n, x -> 1);
for var i := 0 to m-1 do
for var j := 0 to n-1 do
if j mod 2 = 0 then
b[j] := b[j] * a[i, j];
b.Where((x, i)-> i mod 2 = 0).SortedDescending().Println();
end.