В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
vladgrigav
vladgrigav
20.04.2020 14:03 •  Информатика

Найдите два значения S, при которых одновременно выполняются два условия: – у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;
– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.
Найденные значения запишите в ответе в порядке возрастания.


Найдите два значения S, при которых одновременно выполняются два условия: – у Вани есть выигрышная с

Показать ответ
Ответ:
сердянечок
сердянечок
02.09.2022 01:05
В PascalABC.NET эта задача решается легко и быстро. В других версиях будет монстрик.

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

procedure MakeFile(path:string);
// не относится к заданию, создает файл Text со 100 числами
begin
  WriteLines(path,SeqRandom(100,-99,99).Select(x->x.ToString))
end;

begin
  MakeFile('MyFile1.txt');
  // теперь у нас есть текстовый файл из 100 случайных чисел
  // собственно, решение
  var n:=ReadInteger('Укажите количество чисел:');
  var a:=ReadLines('MyFile1.txt').Take(n).ToArray;
  Writeln('Исходная последовательность'); a.Println;
  Writeln('Результирующая последовательность');
  a:=a.OrderBy(x->x.Last).ToArray; a.Println;
  WriteAllLines('MyFile2.txt',a);
end.

Пример
Укажите количество чисел: 15
Исходная последовательность
51 -9 17 -12 7 -15 -20 50 98 19 56 67 -57 -42 64
Результирующая последовательность
-20 50 51 -12 -42 64 -15 56 17 7 67 -57 98 -9 19
0,0(0 оценок)
Ответ:
mashaivedmed05
mashaivedmed05
18.09.2020 06:48
Возьмем произвольное число n. Оно будет иметь ровно два знака в шестнадцатеричной записи тогда и только тогда, когда 15 < n < 256. Таким образом, задача сводится к нахождению количества элементов массива находящихся в промежутке (15; 256). 
Первую цифру числа в шестнадцатеричной записи можно найти как N div 16, а вторую - N mod 16
Программа на языке Pascal:

const
  N = 2017; // Количество элементов в массиве

var
  a: array[1..N] of integer;
  i, c: integer;

begin
  // Генерация массива (можно изменить на ввод с клавиатуры)
  for i := 1 to N do
    a[i] := Random(10000) + 1;
  // Подсчет количества элементов массива, удовлетворяющим 
неравенству
  c := 0;
  for i := 1 to N do
    if (a[i] > 15) and (a[i] < 256) and (a[i] div 16 > a[i] mod 16) then
      c += 1;
  write(c);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота