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

С как можно подробнее) в компьютерной школе учатся 560 учеников в классах с 1-11 однажды директор поймал прогульщика который отвечает только на вопросы да и нет. у директора в распоряжении список учеников школы(560 человек, но класс не указан) ему нужно узнать что за ученик перед ним стоит (фамилию, имя и отчество, полных тезок в школе нет) и в каком классе учится(только параллель, без буквы). сколько вопросов, на которые следует ответить да/нет, необходимо задать?

👇
Ответ:
Анна111111115
Анна111111115
22.12.2022
Можно попробовать так.
Взять список учеников, найти середину, ткнуть пальцем в первую половину учеников и спросить:"Ты есть в этой половине списка? ". Так мы ищем ту половину где он есть, и повторяем весь цикл, пока не найдём нашего хулигана. Тоже самое можно провернуть с классами.
4,7(29 оценок)
Открыть все ответы
Ответ:
мили241
мили241
22.12.2022

146

Объяснение:

Перевод из 16-ричной СС в 10-чную:

Число 55(16). Нумеруем сверху 55 каждую цифру, начиная с справа и с нуля. Над первой справа пятёркой пишем 0, над второй - 1. Чтобы перевести в десятичную, умножаем:

5 на основание системы счисления в степени, которую мы указали над числом. В данном случае, это 1.

Потом приплюсовываем следующее произведение: 5 умножаем на 16 в степени 0. Сумма будет являться десятичным числом:

55(16)=5*16^1+5*16^0=80+5=85(10)

Перевод из 8-ричной СС в 10-чную:

Число 222(8). Нумеруем сверху 222 каждую цифру, начиная с справа и с нуля. Над первой справа двойкой пишем 0, над второй - 1, над третьей - 2. Чтобы перевести в десятичную, умножаем:

2 на основание системы счисления в степени, которую мы указали над числом. В данном случае, это 2.

Потом приплюсовываем следующее произведение: 2 умножаем на 8 в степени 1. Потом приплюсовываем следующее произведение: 2 умножаем на 8 в степени 0. Сумма будет являться десятичным числом:

222(8)=2*8^2+2*8^1+2*8^0=128+16+2=146(10)

Перевод из 2-ичной СС в 10-чную:

Число 1111(2). Нумеруем сверху 1111 каждую цифру, начиная с справа и с нуля. Над первой справа единицей пишем 0, над второй - 1, над третьей - 2, над четвёртой - 3. Чтобы перевести в десятичную, умножаем:

1 на основание системы счисления в степени, которую мы указали над числом. В данном случае, это 3.

Потом приплюсовываем следующее произведение: 1 умножаем на 2 в степени 2. Потом приплюсовываем следующее произведение: 1 умножаем на 2 в степени 1. Потом приплюсовываем следующее произведение: 1 умножаем на 2 в степени 0. Сумма будет являться десятичным числом:

1111(2)=1*2^3+1*2^2+1*2^1+1*2^0=8+4+2+1=15(10)

4,5(68 оценок)
Ответ:
rud5001
rud5001
22.12.2022
Код#include <iostream>#include <utility>#include <numeric>#include <vector>class Beast {    int trigger;    double aggression;    double rage_aggression;public:    Beast() = default;    Beast(int trigger, double aggression, double range_aggression)    : trigger(trigger), aggression(aggression), rage_aggression(range_aggression)    { }    Beast(const Beast&) = default;    Beast(Beast&&) = default;    Beast& operator=(const Beast&) = default;    Beast& operator=(Beast&&) = default;    [[nodiscard]] double calculate_aggression(unsigned long amount) const {        return amount > trigger ? rage_aggression : aggression;    }    void ReadFrom (std::istream& is) {        is >> aggression >> rage_aggression >> trigger;    }    void WriteTo(std::ostream &os) const {        os << aggression << " " << rage_aggression << " " << trigger;    }};std::istream& operator >>(std::istream &is, Beast &cls) {    cls.ReadFrom(is);    return is;}std::ostream& operator <<(std::ostream &os, const Beast &cls) {    cls.WriteTo(os);    return os;}class Cage {    double durability;    std::vector<Beast> container;public:    explicit Cage(double durability, std::vector<Beast> container)    : durability(durability), container(std::move(container))    { }    Cage(const Cage&) = default;    Cage(Cage&&) = default;    Cage& operator=(const Cage&) = default;    Cage& operator=(Cage&&) = default;    [[nodiscard]] double calculate_aggressive() const {        auto amount = container.size();        if (amount == 0) return 0;        return std::accumulate(container.begin(), container.end(), 0.0,        [amount](double total_aggressive, const Beast & beast){            return total_aggressive + beast.calculate_aggression(amount);        });    }    [[nodiscard]] bool is_it_normal() const {        auto aggressive = calculate_aggressive();        return aggressive <= durability;    }    [[nodiscard]] int get_capacity() const {        return container.size();    }    [[nodiscard]] double get_durability() const {        return durability;    }};template <typename T>void subsetsUtil(std::vector<T>& A, std::vector<std::vector<T> >& res,                 std::vector<T>& subset, int index){    res.push_back(subset);    for (int i = index; i < A.size(); i++) {        // include the A[i] in subset.        subset.push_back(A[i]);        // move onto the next element.        subsetsUtil(A, res, subset, i + 1);        // exclude the A[i] from subset and triggers        // backtracking.        subset.pop_back();    }}template <typename T>std::vector<std::vector<T>> P(std::vector<T>& A){    std::vector<T> subset;    std::vector<std::vector<T>> res;    int index = 0;    subsetsUtil(A, res, subset, index);    return res;}int main () {    int n, s;    Beast noname{};    std::vector<Beast> set_of_beasts;    std::cin >> n >> s;    for (auto i = 0; i < n; ++i) {        std::cin >> noname;        set_of_beasts.push_back(noname);    }    auto selections = P(set_of_beasts);    std::vector<Cage> variants;    std::transform(selections.begin(), selections.end(), std::back_inserter(variants), [s](std::vector<Beast> &selection){        return Cage(s, selection);    });    std::vector<Cage> true_variants;    std::copy_if(variants.begin(), variants.end(), std::back_inserter(true_variants), [](Cage& x) {return x.is_it_normal();});    auto the_best_of_the_best_variant = *std::max_element(true_variants.begin(), true_variants.end(), [](Cage & s1, Cage & s2){        return s1.get_capacity() < s2.get_capacity();    });    std::cout << the_best_of_the_best_variant.get_capacity();    return 0;}
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
У Арсения есть n зверьков. Каждый из них обладает характером, поэтому, если в клетке, где находится
4,4(41 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ