program z1;
var
i,j,m,k,z,x,l:integer;
begin
readln(m);
for i:=0 to m do begin z:=1;
if i=0 then z:=1 else begin
x:=i;
while x<>0 do begin
z:=z*4;
x:=x-1;
end; end;
if ((z<m) and (z*4>m)) then writeln(i);
if z=m then writeln(i-1);
end;
end.
program z2;
var
i,j,n,k,z,x,l:integer;
begin
readln(n);
for i:=0 to n do begin z:=1;
if i=0 then z:=1 else begin
x:=i;
while x<>0 do begin
z:=z*2;
x:=x-1;
end; end;
if ((z>n) and (z/2<n)) then writeln(i);
if z=n then writeln(i+1);
end;
end.
program z3;
var
i,j,n,k,z,x,s:integer;
begin
readln(n); s:=0;
for i:=1 to n do begin z:=1;
for j:=i to 2*i do
z:=z*j;
s:=s+z; end;
writeln(s);
end.
время 2 ночи
...думаю пора спать )
Последняя цифра числа - остаток деления на N, где N - основание системы счисления. Соответственно, последние две цифры - остаток от деления на N^2.
12₄ = 1*4 + 2 = 6₁₀
Выходит, что нам нужно найти все десятичные числа, которые не превосходят 40 и при делении на 16 дают остаток 12.
Общий вид таких чисел: k*16 + 6. K - любое целое неотрицательное число. Теперь просто подставляем.
если k = 0, то получается число 5.
если k = 1, то получается число 22.
если k = 2, то получается число 38.
Очевидно, что дальше мы выйдем за границы нужного нам диапазона.
ответ: 5, 22, 38
Поделитесь своими знаниями, ответьте на вопрос:
Файл қандай сипаттамаға ие
Файл Кораб сияакты ол жака бр неше сурет ойындарды кодтарды жане де т.б компьтердеги багдарламаларды салып койуга болады