innamatvijchuk
15.03.2021 13:14

Викторина «игры разума» . Даются 1 тема Архитектура компьютера »
Каждая тема состоит из 3 вопросов различного уровня сложности, по 5 10 15 очков каждый.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
superpuper90
13.04.2023 14:45

4

Объяснение:

Зная, что изначально в куче было S камней, для победы нужно получить не менее 32, рассмотрим все возможные ходы Пети, при которых он не выиграет. Чтобы Петя не выиграл, после любого его хода в куче должно получиться меньше 32 камней.

Действие А) S+1<32, тогда S<32-1=31

Действие Б) 3*S+1<32, тогда S<(32-1)/3=11

А теперь распишем ходы Вани. Чтобы точно победить, Ване нужно действовать так, чтобы получить максимальный результат - из двух действий максимальный дает действие Б. После его хода в куче должно стать или 32 камня, или больше.

Действие А) 3*(S+1)+1=3*S+4>=32, тогда S>=(32-4)/3=10

Действие Б) 3*(3*S+1)+1=9*S+4>=32, тогда S>=(32-4)/9=4

Таким образом мы понимаем, что нужное для Ваниной победы первым ходом число S должно должно лежать в диапазоне от 4 до 31, тогда минимальным подходящим будет 4. Проверим:

Случай 1. Петя ходит действием А. 4+1=5. Ваня ходит действием Б. 5*3+1=16. Ваня не выиграл.

Случай 2. Петя ходит действием Б. 3*4+1=13. Ваня ходит действием Б. 13*3=39. Ваня выиграл.

Несмотря на то, что если Петя пойдет действием  А, Ваня не выиграет, его победа всё равно возможна, если тот пойдет действием Б. А нас именно о случае, когда она возможна, и спрашивают.

Чтобы убедиться в верности рассуждений, проверим, нельзя ли взять еще меньшее число - 3:

Случай 1. Петя ходит действием А. 3+1=4. Ваня ходит действием Б. 3*4+1=13. Ваня не выиграл.

Случай 2. Петя ходит действием Б. 3*3+1=10. Ваня ходит действием Б. 3+10+1=31. Ваня не выиграл.

Таким образом, мы выяснили, что минимальным начальным количеством камней, когда возможна победа Вани первым ходом, является 4.

0,0(0 оценок)
Ответ:
Danya135evlanov
05.12.2020 05:18
// PascalABC.NET 3.0, сборка 1164 от 11.02.2016
function gcd(a,b:integer):integer;
// Нахождение НОД
var
  i: longint;
begin
  while b <> 0 do begin
    a := a mod b;
    i := b; b := a; a := i
    end;
  Result:=a
end;

begin
  var a:=ReadInteger('a=');
  var b:=ReadInteger('b=');
  var nod:=gcd(a,b);
  if nod>1 then
    WritelnFormat('Дробь сократима: {0}/{1}={2}/{3}',
    a,b,a div nod,b div nod)
  else WritelnFormat('Дробь {0}/{1} несократима',a,b)
end.

Тестовое решение:
a= 23541
b= 335160
Дробь сократима: 23541/335160=59/840
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота