margaritamaurses
31.12.2020 00:22

Скоро Новый Год Ив Astana IT University студенты решили сыграть в Тайного Санту. Студент Арман подготовил по настоящему волшебный подарок. Это была шляпа, в которой хранились ручки
различных цветов в неограниченном количестве. Каждый студент мог не глядя вытащить одну ручку из
Шляпы и забрать ее себе. За этим процессом наблюдали преподаватели. Арман предложил им задачку:
не глядя Вытащить минимальное количество ручек, чтобы среди них обязательно были две одного
Цвета. Если преподаватели смогут правильно ответить на вопрос, они заберут этот подарок себе.
преподавателям решить задачку от Армана.
Input Format
Вводится одно целое положительное число А- количество цветов ручек.
Constraints
(1 <= A <= 1049)
Output Format
Выводится одно число - ответ на задачу.
Sample Input 0
4
Sample Output 0
5​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ogbondarenko
24.01.2021 20:35

9877

Объяснение:

Ну давайте вместе решим. Что такое 8? Это 2 в 3 степени. Тогда что такое 8^4024? Это (2^3)^4024 или 2^12072

4^1605 аналогично 2^3210.

Ну и 2^1024

126 в бинарной системе это 0111 1110

Теперь попробуем это вместе сложить.

Если призадуматься, то 2^N это значит в бинарной записи на N-той позиции стоит единица.

Значит 2^12072 это 1 и 12071 нулей

Далее у нас отнимается 2^3210. В оригинальном числе на этом позиции 0, значит нам следует занять числа и в итоге получается что у нас с 12070 позиции по 3210 будет стоять единицы.

Далее добавляется одна единица на 1024ой позиции.

На данный момент у нас 8861 единиц.

Чтобы отнять 126 нам надо будет срезать одну единицу на 1024ой позиции чтобы занять в меньшие биты. Однако, с 1023 по 1 позицию у нас будут стоять единицы.

8861 - 1 + 1023 = 9883

Однако 126 имел единицы в количестве 6 штук.

9883 - 6 = 9877

ответ 9877

0,0(0 оценок)
Ответ:
ekaterinka21041
26.12.2020 02:21
Var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real;

procedure nod( var dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 :real; );
var a:array[1..6] of real;
i : integer;
begin
dv1:=100;
tr1:=100;
pt1:=100;
for i:= low(a) to high (a) do begin
readln(a[i]);
repeat
if( (a[i] mod 2) =0) then begin
a[i]:=a[i]/2;
dv:=dv+1;
end
else if( ( a[i] mod 3)=0) then begin
a[i]:=a[i]/3;
tr:=tr+1;
end
else if ( ( a[i] mod 5)=0) then begin
a[i]:=a[i]/5;
pt:=pt+1;
end;

untill(a=1);
if dvif trif ptdv:=0;
tr:=0;
pt:=0;
end;
if dv1>0 then dv2:=dv1*2 else dv2:=1;
if tr1>0 then tr2:=tr1*3 else tr2:=1;
if pt1>0 then pt2:=pt1*5 else pt2:=1;
nod:=dv2*tr2*pt2;
writeln(nod);
end;
begin
nod( dv,tr,pt,dv1,tr1,pt1,dv2,tr2,pt2 );
end.

end;
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота