Решить (подробно) и примеры! : флеш-карта имеет объем 256 мбайт. рукопись автора содержат 2000 страниц. на каждой странице 80 строк,в каждой строчке 100 символов. поместится ли рукопись на флеш-карту? ответ подтвердите рассчетами. примеры: переведите в биты- 1,5 кб; переведите в килобайты - 2048000 бит; переведите в байты - 7200 бит. буду за !
129
407
Ответы на вопрос:
1символ занимает 1 байт всего символов в рукописи - 2000*80*100=16 000 000 символов, они занимают 16000000 байт, переведем в килобайты- 16000000/1024=15625 кбайт, в мегабайты 15625 /1024=15,26 мбайт рукопись на флеш-карту поместится. переведите в биты- 1,5 кб; 1,5*1024=1536 б ⇒1536*8=12288 бит переведите в килобайты - 2048000 бит; 2048000/8=256000 б ⇒ 256000/1024=250 кбайт переведите в байты - 7200 бит. 7200/8=900 байт
Код#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;}
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
kazantsevaira218.02.2022 08:40
-
gribvlad12319.10.2022 11:49
-
azimjonsafu199520.06.2023 13:15
-
Gymanitariu24.10.2020 00:31
-
Vikamolch1127.02.2021 19:54
-
дара2317.03.2020 06:29
-
veronikasabrin05.02.2022 10:23
-
Катя0212200316.09.2022 22:00
-
zinabantaeva40706.01.2023 17:35
-
kuzmichkinvale23.01.2023 12:46
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.