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

3. гирьки есть чашечные весы без делений. для взвешивания груза также можно использовать гирьки, массы которых – целое число граммов. вам необходимо предложить набор гирек, при которого можно отмерить на весах любую массу, равную целому числу граммов от 1 до 40. гирьки можно класть на каждую чашку весов, чашки весов должны находиться в равновесии, при этом на одной из чашек весов должен находиться взвешиваемый груз. массы гирек в наборе могут повторяться. например, при трёх гирек массами 1, 1 и 5 граммов можно отмерить любую целочисленную массу от 1 до 7 граммов по следующей схеме (x – взвешиваемая масса): 1 грамм: x = 1, 2 грамма: x = 1 + 1, 3 грамма: x + 1 + 1 = 5, 4 грамма: x + 1 = 5, 5 граммов: x = 5, 6 граммов: x = 5 + 1, 7 граммов: x = 5 + 1 + 1. ответом на эту являются несколько целых чисел, записанных через пробел, – массы гирек, при которых можно отмерить любую целочисленную массу от 1 до 40. в наборе должно быть не более 8 чисел. числа в наборе могут повторяться. чем меньше гирек будет в предложенном наборе, тем больше вы получите, при условии, что, используя гирьки из данного набора, можно отмерить каждую целочисленную массу от 1 до 40.

👇
Ответ:
бростас
бростас
09.08.2021
Пусть выбраны гирьки с массами 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,7(58 оценок)
Открыть все ответы
Ответ:
amid2003
amid2003
09.08.2021

1)

size, a, b, list_num = int(input('Введите размер массива: ')), 1, 0, []

for i in range(size):

 list_num.append(a)

 a, b = a + b, a  

print('Числа Фабенначи:', *list_num)

2)

list_num = input('Введите массив: ').split()

for i in range(len(list_num)):

 list_num[i] = int(list_num[i])

print('Среднее арифметическое:', sum(list_num) / len(list_num))

3)

from random import randint

list_num, small_num, big_num = [], [], []

for i in range(10):

   list_num.append(randint(0, 100))

for i in list_num:

 if i < 50:

   small_num.append(i)

 else:

   big_num.append(i)

print('Массив:\n', *list_num)

print('Ср. арифм. элементов < 50:', sum(small_num) / len(small_num))

print('Ср. арифм. элементов >= 50:', sum(big_num) / len(big_num))

4,5(41 оценок)
Ответ:
27Анютка27
27Анютка27
09.08.2021

Задача №3. Введите массив из 5 элементов с клавиатуры и найдите среднее арифметическое его значений:

mass = map(int,input().split())

summ = 0

for i in mass:

   summ += i

print(summ/5)

Задача №4. Заполните массив из 10 элементов случайными числами в интервале [0, 100] и подсчитайте отдельно среднее значение всех элементов, которые <50, и среднее значение всех элементов, которые ≥50:

from random import randint

mass = [randint(1, 100) for i in range (10)]

summ1 = summ2 = k1 = k2 = 0

for n in mass:

   if n < 50:

       summ1 += n

       k1 += 1

   else:

       summ2 += n

       k2 += 1

print('Ср. арифм. элементов <50: ' + str(round(summ1/k1, 3)) + '\nСр. арифм. элементов >=50: ' + str(round(summ2/k2, 3)))

Задача №5. Введите размер массива N и заполните массив из N элементов числами Фибоначчи:

N = int(input())

mass = [1, 1]

for i in range (2, N):

   mass.append(mass[i - 2] + mass[i - 1])

print(mass)

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