efj63233
16.03.2023 17:20

Інформатика
Будь ласка до іть


Інформатика Будь ласка до іть

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
mmozgovoj
06.07.2022 17:06

Так как целевой язык НЕ указан, написал на C# (+ форматированный тест программы во вложениях. main.cs)

using System;

public class Test

{

   /// <summary>

   /// Метод для получения целого числа с клавиатуры

   /// </summary>

   /// <returns>Целое число, введённое с клавиатуры</returns>

   public static int GetInt()

   {

       string input = Console.ReadLine();

       return int.Parse(input);

   }


   /// <summary>

   /// Метод для получения любого действительного числа с клавиатуры

   /// </summary>

   /// <returns>Действительное число, введённое с клавиатуры</returns>

   public static double GetNumb()

   {

       string input = Console.ReadLine();

       return double.Parse(input.Replace(",", "."));

   }


   /// <summary>

   /// Точка входа в программу

   /// </summary>

   public static void Main()

   {

       //Получаем N

       int N = 0;

       for (; ; )

       {

           Console.Write("Введите количество цифр в последовательности - N: ");

           try

           {

               N = GetInt();

               break;

           }

           catch

           {

               Console.WriteLine("Некорректный ввод!\n");

           }

       }


       // Создаём на основе полученного N массив чисел и заполняем его данными с клавиатуры

       double[] A = new double[N];

       for (int i = 0; i < N; ++i)

       {

           for (; ; )

           {

               Console.Write("A[{0}]: ", i + 1);

               try

               {

                   A[i] = GetNumb();

                   if (A[i] < -10000 || A[i] > 10000)

                       throw new Exception("Выход из диапазона");

                   break;

               }

               catch

               {

                   Console.WriteLine("Некорректный ввод!\n");

               }

           }

       }


       // Задание 1

       Console.Write("1) Числа, кратные 3, но НЕ кратные 5: ");

       for (int i = 0; i < N; ++i)

           if (A[i] % 3 == 0 && A[i] % 5 != 0)

               Console.Write("{0} ", A[i]);

       Console.WriteLine();


       // Задание 2

       Console.Write("2) Числа, входящие в диапазон: ");

       for (int i = 0; i < N; ++i)

           if (Math.Abs(A[i]) <= 100)

               Console.Write("{0} ", A[i]);

       Console.WriteLine();


       // Задание 3

       Console.Write("3) Количество НЕчётных чисел: ");

       int K = 0;

       for (int i = 0; i < N; ++i)

           if (A[i] % 2 != 0) K++;

       Console.WriteLine("{0}\n", K);

   }

}

0,0(0 оценок)
Ответ:
прждлшеджж
08.08.2020 18:31
Чтобы решить эту задачу нам нужно научиться определять, куда выгодно сесть бабочке. Представим, что столбов 10, тогда бабочки сидят на столбах 1, 9, 10. Бабочка, что справа летит на столб между 1 и 9 а именно на 5ый((9-1-1)/2+1 = 4,5, но число столбов нечетное, пожтому мы округляем до большего) Разберёмся с тем, как мы получили число пять, составив формулу. Чтобы узнать, число, находящееся между двумя числами, надо из максимального вычесть минимальное и ещё 1, затем разделить на 2 и прибавить меньшее число. Если ответ получается дробным, то округляем в большую сторону, а если целым, то надо учитывать сторону, с которой совершается ход.
(S-F-1)/2+F+D
F - первое число
S - второе число
D - если число целое, то смотрим, с какой стороны летит бабочка. если справа, то = 0, если слева, то = 1, в остальных случаях (когда нечетн.) = 0.

Теперь к самому решению. Нам надо, чтобы ходов было как можно больше, столбы, оказавшиеся с краю от крайних бабочек - выбывают из игры, а значит, что за первый ход нам надо избавиться от минимального количества столбов, тогда выберем такое расположение: 1 2017 2018. Начинает бабочка справа.
1 ход: 1 1008 2017
2 ход: 1008 1513 2017
3 ход: 1008 1260 1513
4 ход: 1260 1387 1513
5 ход: 1260 1323 1387
6 ход: 1323 1355 1387
7 ход: 1323 1339 1355
8 ход: 1339 1347 1355
9 ход: 1339 1343 1347
10 ход: 1343 1345 1347
11 ход: 1343 1344 1345

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