В реализации структуры данных «дерево Фенвика» используется побитовая операция И над натуральным числом N и суммой этого числа с 1: N & (N + 1). Какой будет результат данной операции для N = 27? ответ укажите в десятичной системе счисления.
Эту задачу очень легко решить при логарифмов. Если при делении логарифма числа на логарифм пяти получится целое число, то искомое есть степень пятерки, а результат деления и есть показатель степени.
На примере: lg(125) / lg(5) = 3. Так как 5³ = 125 lg(812) / lg(5) ≈ 4.16 поэтому 812 не явл. степенью 5-ки.
print "Введите число" input A S = log(A) / log(5) if S = int(S) then print "Число ";А; "является степенью числа 5" print "Показатель степени "; S else print "Число ";А; "не является степенью числа 5" end if end
uses crt; var a,i,j,n:integer; begin writeln('ВВедите кол. конфет в (кг)'); read(a); n:=0; if a>=10 then begin n:=n+ a div 10; a:=a-(a div 10*10); end; if (a>=5) and (a<10) then begin n:=n+ a div 5; a:=a-(a div 5*5); end; if (a>=1) and (a<5) and (a<10) then begin n:=n+ a div 1; a:=a-(a div 1*1); end; writeln('Общее количество коробок = ',n); end.
2 задача uses crt; var a,i,j,n:integer; begin writeln('Введите кол. суток'); read(a); writeln('Количество часов в ',a,' сутках = ',a*24); writeln('Количество минут в ',a,' сутках = ',a*24*60); writeln('Количество секунд в ',a,' сутках = ',a*24*60*60); end.
24
Объяснение:
Переведем число 27 в двоичную систему: 00011011
Прибавим единицу чтобы поучить N+1 : 00011011 + 1 = 00011100
Выполним побитовую операцию И ( a & b = 1 только если и a и b равны 1)
Переведем результат в десятичную систему: 00011000₂ = 24₁₀
============
Не забывайте нажать " ", поставить оценку и, если ответ удовлетворил, то выберите его как "Лучший"
Успехов в учебе