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

Добрый день , с решение заданий в файле.

👇
Открыть все ответы
Ответ:
ученик445643
ученик445643
12.06.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,8(61 оценок)
Ответ:
podsypa
podsypa
12.06.2020

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {

       double Ax, Bx, Cx;

       Scanner sc = new Scanner(System.in);

       try {

           System.out.println("Waiting for input A, B and C...");

           Ax = sc.nextDouble();

           Bx = sc.nextDouble();

           Cx = sc.nextDouble();

           if (!(Cx > Math.min(Ax, Bx) && Cx < Math.max(Ax, Bx))) {

               System.out.println("Неверные входные данные.");

               return;

           }

           double AC = Math.abs(Cx - Ax);

           double BC = Math.abs(Cx - Bx);

           System.out.println("AC = " + AC);

           System.out.println("BC = " + BC);

           System.out.println("AC * BC = " + AC * BC);

       } catch (RuntimeException e) {

           System.out.println("Неверные входные данные.");

       }

   }

}

Проблемы, вопросы или предложения по работе программы в комментарии.

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