В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
poiu123
poiu123
13.11.2022 20:19 •  Информатика

Python. Ханойские башни с ограничениями.
Несправедливые башни

В Ханое несправедливо запретили класть самый маленький диск (номер 1) на средний колышек (номер 2).

Решите головоломку с учётом этих ограничений. Вам не нужно находить минимальное решение, но количество совершённых перемещений не должно быть больше 200000 при условии, что количество дисков не превосходит 10.

Входные данные

Задано натуральное число n≤10 — размер пирамидки.

Выходные данные

Программа должна вывести перекладывания пирамидки из данного числа дисков со стержня 1 на стержень 3.

Показать ответ
Ответ:
yamarinaigorp00vfk
yamarinaigorp00vfk
16.03.2020 21:44

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <vector>

#include <algorithm>

using namespace std;

bool myfunction (int i,int j) { return (i<j); } // comparator

int main() {

setlocale(0, "");

srand(time(0));

float u(0.0f), v(0.0f), w(0.0f); //суточный рацион коровы, состоящий из сена, силоса и комбикорма

float k(0.0f); // колво голов в ъозяйстве

float s(0.0f), t(0.0f), f(0.0f); // сколько осталось сена, силоса и комбикорма

float percP(0.0f); //  в день погибает % коров

float percQ(0.0f), percR(0.0f), percT(0.0f); //  в день сгнивает сена, силоса и комбкорма %

int dayCounter = 0;

cout << "Сена в день: ";

cin >> u;

cout << "Силоса в день: ";

cin >> v;

cout << "Комбикорма в день: : ";

cin >> w;

cout << "Всего коров: ";

cin >> k;

cout << "Осталось сена: ";

cin >> s;

cout << "Осталось силоса: ";

cin >> t;

cout << "Осталось комбикорма: ";

cin >> f;

cout << "Сколько % в день погибает коров: ";

cin >> percP;

cout << "Сколько % пропадает сена: ";

cin >> percQ;

cout << "Сколько % пропадает силоса: ";

cin >> percR;

cout << "Сколько % пропадает комбикорма: ";

cin >> percT;

while(1) {

if(s<u) {

cout << "Кончилось сено. Прожито дней: " << dayCounter << ". Осталось коров: " << k;

 break;

}

if(t<v) {

 cout << "Кончился силос. Прожито дней: " << dayCounter << ". Осталось коров: " << k;

 break;

}

if(f<w) {

 cout << "Кончился комбикорм. Прожито дней: " << dayCounter << ". Осталось коров: " << k;

 break;

}

cout << "День:: " << dayCounter << "    ";

cout << "Осталось коров: " << static_cast<int>(k) << endl;

// кормим коров

s-=u;

t-=v;

f-=w;

//конец дня. Заного считаем припасы и коров.

k=k/100*(100-percP);

s=s/100*(100-percQ);

t=t/100*(100-percR);

f=f/100*(100-percT);

++dayCounter;

}

system("pause");

}

0,0(0 оценок)
Ответ:
alinamalinavkjkjh
alinamalinavkjkjh
06.06.2020 23:11

По условию текст написан в КОИ-8, где 1 символ весит 8 бит.

Всего тест занимает 8 Кбайт

Переведем 8 Кбайт в биты: 8 Кбайт = 65536 бит

Текст занимает 8 Кбайт или 65536 бит

Теперь узнаем количество символов в тексте: разделим 65536 бит на 8 бит, так как 1 символ = 8 бит: 65536 бит : 8 бит = 8192‬

В тексте всего 8192‬ символа.

По условию страница содержит 32 строки по 40 символов, всего символов содержит: 32 * 40 = 1280‬. (1 страница может вместить 1280‬ символов)

Теперь найдем количество необходимых листов для записи нашего текста: 8192‬  / 1280‬ = 6,4 листа.

Так как наш текст не поместится на 6 листах, то возьмем еще 1 лист и,в итоге, получим 7 листов

ответ: 7 листов

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота