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

Day, while researching the E5 measurement, Rick came up with the idea of ​​a device that would change humanity. Inhabitants of the E5 dimension once a millennium organize a big one-dimensional sea battle tournament. The device will perform the following task: help a participant in a one-dimensional sea battle tournament to place the maximum number of ships on the field. He has not yet decided how exactly he is going to change humanity with the help of his invention, but he is sure that he will be able, at least, to introduce the game in one-dimensional sea battle into our dimension and diversify people's lives. The field in a one-dimensional sea battle game has dimensions 1 × n . The task of the device is to find the maximum k such that one ship of size 1 × k , two ships of size 1 × ( k - 1) , ... , k ships of size 1 × 1 can be placed on the field , and the ships, as in a conventional sea fight, should not touch each other and intersect.

Input data
The only line of the input contains the number n - the number of cells in the field .

Output
Print a single number - the maximum k that you can arrange the ships, as described in the condition.

Example
input
7
output
2

Note
Explanation for the example: for a 1 × 7 field, the answer is 2. You can place one 1 × 2 ship and two 1 × 1 ( 2, 1, 1)

👇
Ответ:
sashafedorishyn
sashafedorishyn
21.08.2022

n = int(input())

a = 1

y = 1

while(a>=y):

   a+=1

   y+=(a*(a+1))/2

print(a-1)

Объяснение:

python code

4,5(39 оценок)
Открыть все ответы
Ответ:
kamilyusupov123
kamilyusupov123
21.08.2022
1. Схематически записываем условие
Есть две команды: (1) ×3 и (2) -5
Тут я ввожу обозначения: в скобках некий "код" команды, а далее обозначение, что именно она делает. Команда с кодом 1 умножает на три, с кодом 2 - вычитает 5.
Теперь, что нам надо получить: 8 ⇒ 36, т.е. из 8 получить 36.

2. Анализируем, какое число может быть перед выполнением последней (т.е. пятой) команды.
Применим к результату команды, обратные к (1) и (2).
Действие, обратное умножению - это деление, вычитанию - сложение.
Для (1) получим 36/3 = 12, т.е. в результате выполнения первых четырех (пока в неизвестном порядке) команд должно получиться 12.
Для (2) получим 36+5 = 41.

3. Теперь анализируем, какой могла бы быть третья команда
Чтобы получить 12 после (1), нужно взять число 12/3 = 4.
Чтобы получить 12 после (2), нужно взять число 4+5=9.
Получить 41 после (1) невозможно, поскольку 41 на 3 не делится нацело.
Чтобы получить 41 после (2), нужно взять число 41+5=46.
Итак, имеем три числа-кандидата.
46 выглядит подозрительно, потому что получить его можно только из 51 при поскольку 46 на 3 не делится и не может быть получено при А получить 8 ⇒ 51 за две возможные операции не получится. Поэтому 46 отбрасываем.

4. Анализируем, какой могла бы быть вторая по порядку команда
Получить 4 после (1) нельзя, потому что 4 не делится на 3.
Чтобы получить 4 после (2), нужно взять число 4+5=9.
Чтобы получить 9 после (1), нужно взять число 9/3 = 3.
Чтобы получить 9 после (2), нужно взять число 9+5=14.

5. Рассматриваем, что можно получить из исходного числа
а) 8 после (1) дает 8×3 = 24 и получить 3, 9 или 14 из 24 при одной из имеющихся команд невозможно.
б) 8 после (2) дает 8-5 = 3 - это и есть решение проблемы.

6. Устанавливаем цепочку преобразований (код команды в скобках).
8-5 = 3 (2)
3х3 = 9 (1)
9-5 = 4 (2)
4х3 = 12 (1)
12х3 = 36 (1)

ответ: 21211 - набор команд
4,5(89 оценок)
Ответ:
никусь2222
никусь2222
21.08.2022

var A, F, G: array [1..20] of integer;

sA, sF: string;

i: integer;

begin

       for i:= 1 to 20 do

       begin

               A[i] := random(-20, 20);

               F[i] := random(-20, 20);

               sA += A[i] + ' ';

               sF += F[i] + ' ';

       end;

 

       writeln('A: ' + sA);

       writeln('F: ' + sF);

 

       write('G: ');

       for i:= 1 to 20 do

       begin

               if A[i] < F[i] then

                       G[i] := A[i]

               else

                       G[i] := F[i];

               write(G[i] + ' ');

       end;

       writeln();

end.

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