Задания
Версия для печати и копирования в MS Word
Тип 14 № 7460
i

Сколь­ко еди­ниц со­дер­жит­ся в дво­ич­ной за­пи­си зна­че­ния вы­ра­же­ния: 42014 + 22015 − 8?

Спрятать решение

Ре­ше­ние.

Пре­об­ра­зу­ем вы­ра­же­ние:

4 в сте­пе­ни левая круг­лая скоб­ка 2014 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2015 пра­вая круг­лая скоб­ка минус 8 = левая круг­лая скоб­ка 2 в сте­пе­ни левая круг­лая скоб­ка 2014 пра­вая круг­лая скоб­ка пра­вая круг­лая скоб­ка в квад­ра­те плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2015 пра­вая круг­лая скоб­ка минус 2 в кубе = 2 в сте­пе­ни левая круг­лая скоб­ка 4028 пра­вая круг­лая скоб­ка плюс 2 в сте­пе­ни левая круг­лая скоб­ка 2015 пра­вая круг­лая скоб­ка минус 2 в кубе .

Число 24028 в дво­ич­ной за­пи­си за­пи­сы­ва­ет­ся как еди­ни­ца и 4028 нулей. До­ба­вив число 22015, по­лу­ча­ем 100...00100...000 (еди­ни­ца, 2012 нулей, еди­ни­ца, 2015 нулей, всего 4029 раз­ряд­ных цифр). Если вы­честь из этого числа 23  =  10002, то число при­мет вид 100...001...1000. В по­лу­чен­ном числе еди­ни­ца, 2013 нулей, 2012 еди­ниц и три нуля. Зна­чит, всего в числе 2013 еди­ниц.

 

Ответ: 2013.

 

При­ведём дру­гое ре­ше­ние Фомко Ни­ки­ты за­да­чи на языке Pascal.

var

i,n,k:integer;

x,c1,c2:biginteger;

s:string;

begin

c1:=2;

c2:=2;

for i:=2 to 4028 do c1:=c1*2;

for i:=2 to 2015 do c2:=c2*2;

x:=c1+c2-8;

k:=0; s:='';n:=0;

while x<>0 do begin n:=n+1;

s:=s+(x mod 2).tostring;

x:=x div 2;

end;

for i:=n downto 1 do if s[i]='1' then k:=k+1;

writeln(k);

end.

 

При­ведём дру­гое ре­ше­ние на языке Python.

x = 4**2014 + 2**2015 - 8

s = ''

while x != 0:

s += str(x % 2)

x //= 2

s = s[::-1]

print(s.count("1"))

 

При­ведём ре­ше­ние Ка­ми­ла Мур­та­за­ли­е­ва на языке Python.

s = 4**2014 + 2**2015 - 8

print(bin(s).count('1'))


Аналоги к заданию № 7761: 7460 7788 8104 ... Все

Источник: Де­мон­стра­ци­он­ная вер­сия ЕГЭ—2015 по ин­фор­ма­ти­ке
Раздел кодификатора ФИПИ: 1.4.1 По­зи­ци­он­ные си­сте­мы счис­ле­ния