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

Ревью кода - 9 На обработку поступает последовательность из 4 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^610
6
. Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.

Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.

Примечание. Обратите внимание, что требуется найти ошибки в имеющейся программе, а не написать свою, возможно, использующую другой алгоритм решения.
n = 4
count = 0
maximum = 999
for i in range(1, n + 1):
x = int(input())
if x % 2 != 0:
count += 1
if x > maximum:
maximum = i
break
if count > 0:
print(count)
print(maximum)
else:
print('NO')

👇
Открыть все ответы
Ответ:
visokolova
visokolova
29.05.2020
1)

1 + «Кнопка 5» = 6 этаж

6 + «Кнопка -3» = 3 этаж

3 + «Кнопка 5» = 8 этаж

8 + «Кнопка -3» = 5 этаж

5 + «Кнопка -3» = 2 этаж

2 + «Кнопка 5» = 7 этаж

7 + «Кнопка -3» = 4 этаж

4 + «Кнопка 5» = 9 этаж


2)

Боря мог выиграть все 9 раз:

1. 3 раза Боря показал камень, Алёша – ножницы

2. 4 раза Боря показал ножницы, Алёша – бумагу

3. 2 раза Боря показал бумагу, Алёша – камень


Алёша мог выиграть не более 7 раз:

1. Алёша показывает камень, Боря показывает ножницы – 2 раза. - победа

2. Алёша показывает ножницы, Боря показывает бумагу – 2 раза. - победа

3. Алёша показывает бумагу, Боря показывает камень – 3 раза. - победа

4. Алёша показывает бумагу, Боря показывает ножницы – 1 раз. - поражение

5. Алёша показывает ножницы, Боря показывает ножницы – 1 раз. – поражение

Результат:

Боря мог выиграть 9 раз.

Алёша мог выиграть 7 раз.


3)

Камнев – К, Ножницын – Н, Бумагин - Б

1. Перевезти баулы К

2. Перевезти каждый баул Н по очереди с Н в лодке, баулы оставить, Н вернуть.

3. Перевезти каждый баул Б по очереди с Б в лодке, баулы оставить, Б вернуть.

4. Перевезти Б, Н и К

4)

Для каждой гирьки есть 3 возможных расположения: чаша с грузом (-1), противоположная чаша (1) или вообще не ставить (0). Расположение каждого груза можно выбирать независимо, поэтому если есть n грузов, то их можно разместить Исходя, из этого 3^2<10<3^3, 2 гирьки - как минимум 1 значение останется без решения, 3 гирьки - как минимум 1 будет иметь несколько решений. Оптимальным набором гирек является тот, который содержит в себе степени какого либо числа: Степени двойки не подходят потому как не используют обе части весов; Тройки же подходят, поскольку гири располагаются на разных чашах весов, то их вес относительно взвешиваемого груза может принимать и положительное, и отрицательное значение.

Если, к примеру, нужна гиря весом в 2 единицы, то нужно на чашу весов с грузом положить гирю с весом 1, а на противоположную с весом 3. Вес 1 вычитается из 3 и результат 2. Таким образом можно взвесить любую массу от 1 до 10.

Возьмем 3 гирьки массой: 1, 3, 9 (степени тройки)

Цифра со знаком «-» будет соответствовать гирьке на другой чашке весов.

Уравновешивания всех масс от 1 до 10:

1 = 1.

2 = 3 - 1,

3 = 3,

4 = 3 + 1,

5 = 3 + 3 - 1,

6 = 3 + 3,

7 = 9 - 1 - 1,

8 = 9 - 1,

9 = 9,

10 = 9 + 1

5)

Допустим, минимальное количество шагов получится если постоянно удваивать максимальное значение:

1) Х+Х=2Х 2) 2Х+2Х=4Х 3) 4Х+4Х=8Х(8X+8X>15X) 4)8Х+4Х=12Х 5)12Х+2Х=14Х 6)14Х+Х=15Х – 6 шагов

Иначе, получить максимальное кратное число (неравное 15): 1, 3, 5 – максимальное 5.

Что бы его получить нужно сделать как минимум 3 операции:

1) Х+Х=2Х 2) 2Х+2Х=4Х 3) 4Х+Х=5Х

Или

1) Х+Х=2Х 2) 2Х+Х=3Х 3) 3Х+2Х=5Х

Теперь, нужно сделать (15/5)-1 операций для получения самого числа

4) 5Х+5Х=10Х 5) 10Х+5Х=15Х

ответ(5 шагов):

1) Х + Х = 2Х

2) 2Х + Х = 3Х

3) 3Х + 2Х = 5Х

4) 5Х + 5Х = 10Х

5) 10Х + 5Х = 15Х

4,4(35 оценок)
Ответ:
Kola2004kola
Kola2004kola
29.05.2020
Пусть выбраны гирьки с массами M1, M2, ..., Mn и ими удалось массу X. 

Тогда имеет место равенство X = a1 * M1 + a2 * M2 + ... + an * Mn,
где ai = 0, если i-ая гирьке не участвовала в взвешиваниях, -1, если лежала на той же чаше весов, что и масса, которкю нужно отмерить, и +1, если на другой чаше весов. 

Каждый из коэффициентов принимает одно из трёх значений, тогда при гирек можно отмерить не более, чем 3^n различных масс. 3^3 < 40 + 1 < 3^4, значит, гирек нужно не менее четырёх. 

Докажем, что взяв гирьки с массами 1, 3, 9 и 27, можно отмерить любую массу от 1 до 40. Будем это делать по индукции, доказав, что при гирек 1, 3, 9, ..., 3^k можно отмерить любую массу от 1 до (3^k - 1)/2.

База индукции. При одной гирьки массой 1 действительно можно отмерить массу 1.
Переход. Пусть для k = k' всё доказано. Докажем и для k = k' + 1.
- Если нужно отмерить массу X <= (3^k' - 1)/2, то это можно сделать при гирек. 
- Пусть надо отмерить массу (3^k' - 1)/2 < X <= (3^(k' + 1) - 1)/2. Кладём на другую чашу весов гирьку массой 3^k'. Тогда остаётся нескомпенсированная масса |X - 3^k'| <= (3^k' - 1)/2, которую, по предположению, можно получить. Ура!

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