М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Adelia742
Adelia742
25.03.2022 21:52 •  Информатика

50 ! 1. на столе лежат 25 спичек. играют двое. игроки по очереди могут взять от одной до четырех спичек. кто не может сделать ход (т.к. спичек не осталось), проигрывает. другими словами, выигрывает взявший последнюю спичку. выясните, у кого из игроков есть выигрышная стратегия. 2. выясните, у кого из игроков есть выигрышная стратегия в такой игре: начальная позиция – на столе лежит 107 спичек, за один ход можно брать 1 или 2 спички. выигрывает тот, кто взял последнюю спичку.

👇
Ответ:
lolabrikoslol
lolabrikoslol
25.03.2022
У этих игр очень простая стратегия. Запомните её один раз и будете решать любые подобные задачи.

Пусть дано P предметов и за ход можно брать от 1 до n предметов.
Вычисляем "магическое число" М = n+1.
Находим остаток целочисленного деления P на M - он покажет, сколько спичек надо взять при первом ходе для выигрыша. Если 0 - то игрок, делающий ход первым, проигрывает. Выигрышная стратегия проста. Если противник взял k предметов, мы берем M-k.

Рассмотрим задачу 1.
P=25, n=4
М=n+1=5, P/M дает в остатке 0 - игрок, делающий ход первым, проигрывает.
Выигрышная стратегия: брать 5-k предметов, оставляя противнику 20, 15, 10 и 5 предметов.

Рассмотрим задачу 2.
P=107, n=2
M=n+1=3, P/M дает в остатке 2 - игрок, делающий ход первым, берет 2 предмета и выигрывает.
Выигрышная стратегия: брать 3-k предметов, оставляя противнику 105, 102, 99, 96, ... предметов.
4,5(26 оценок)
Открыть все ответы
Ответ:
kristavikown6tn
kristavikown6tn
25.03.2022
На Паскале:

program Program1;
var i, j, n, k: integer;
var result: real;
var array1: array [1..255] of real;
begin
     result := 0;
     write('Введите значение N (не более 255): ');
     readln(n);
     for i := 1 to n do
         begin
          write('Введите значение ', i, ' элемента массива: ');
          readln(array1[i]);
         end;
         begin
          writeln('Массив, размером - ', n, ' элементов(а):');
          for i := 1 to n do write(array1[i], ' ');
          writeln;
         end;
     for i:=1 to n do
         begin
          k := 0;
          for j:=1 to n do
          if array1[i] = array1[j] then k := k + 1;
          if k = 1 then result := result + array1[i];
         end;
     writeln('Сумма уникальных элементов массива = ', result);
end.
4,5(97 оценок)
Ответ:
Наташа006
Наташа006
25.03.2022

ты делал сравнение a с b. у тебя вышло такое: a не равно b.

во втором условии у тебя вообще не условие, это действие, ты a / 2. Чтоб проверить кратность числа нужно написать это: число % кратно_какому_числу == 0.

при print ты не сделал табуляцию. Перед print надо нажать tab.  Еще ты в print вместо того чтоб написать просто сумму сделал проверку на равность a и a + b (это в случае с первым print). Нужно было написать просто print(a + b) и print(a * b)

Вот готовый код:

a = int(input("Введите a: "))

b = int(input("Введите b: "))

if a != 10 and b != 10 and a % 2 == 0:

   print(a + b)

else:

   print(a * b)

4,6(91 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ