Randomize() Dim k As Integer Dim i As Integer i = Rnd() * 100 + 1 ReDim A(i) For k = 0 To i A(k) = Rnd() * -1000 + 500 Next
Dim intA, intB As Integer intA = InputBox("Введите начало интервала") intB = InputBox("Введите конец интервала") Dim R, Q, S As Integer R = 0 For i = 1 To UBound(A) If A(i) < A(R) Then R = i If A(i) Mod 2 <> 0 Then Q = Q + A(i) ' c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535 If A(i) > intA And A(i) < intB Then S = S + 1 Next
MsgBox("T=R/Q+1+S = " & A(R) / Q + 1 + S)
Albina
30.01.2022
Пусть выбраны гирьки с массами 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.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Блок схема. определить является ли число положительным, отрицательно или равным 0