Марина555
?>

Имеется текст , объем которого 20 килобайт (на каждой странице теста 40 строк по 64 символа в строке, 1 символ занимает 8 бит)определить количество страниц в тесте

Информатика

Ответы

kirillreznikov
8 * 64 * 40 = 20 480 бит на одной страничке.

20 килобайт = 163840 бит

163840 бит / 20480 бит = 8 страничек.
Vladmouse32506
#include <iostream> #include <vector> #include <algorithm> #include <numeric> int main() { std::vector<int> arrayOfDummies; for (char answer{0};;) {  std::cout << "You want to enter a rating?" << std::endl;  std::cin >> answer;  if (int value{0}; answer == 'y')  {   std::cout << "Enter rating:";   std::cin >> value;   arrayOfDummies.push_back(value);  }  else break; } std::cout << "Average: " << std::accumulate(arrayOfDummies.begin(), arrayOfDummies.end(), 0) /    arrayOfDummies.size() << std::endl; }
oksana-popova

22

Объяснение:

Понятно, что каждая из команд может только увеличить число.

У нас обязательно есть число 16, из него есть два пути:

1. сделать +1

2. сделать x2

Если мы сделаем +1, то после этого уже точно не сможем сделать x2, т.к. 17 x 2 =  34, а 34 > 33, а уменьшить число мы не сможем. Если мы будем делать постоянно +1, то мы точно пройдём через 30.

Значит не нужно делать +1, когда мы на числе 16, а надо делать x2.

Следовательно, концовка у нас точно будет такая 16 -> 32 -> 33.

Теперь надо посчитать, сколько различных получить 16 из 2. К любому такому мы допишем нашу концовку и получим программу подходящую под наши условия, и к тому же все программы, подходящие под данные условия, выглядят именно так.

Считать сколькими можно получить 16 из 2 будет динамическим программированием.

ans[i] - количество различных программ, которые получают i из 2.

Очевидно, ans[2] = 1 (пустая программа).

ans[3] = 1 (нужно сделать +1)

ans[4] = ans[3] + ans[2] = 2 (можно сделать +1 к 3, а можно x2 к 2)

Далее вычисления всегда следующие:

ans[i] = ans[i - 1] + ans[i / 2] для чётных i (можно либо добавить +1 к числу i - 1, либо сделать x2 для числа i / 2)

ans[i] = ans[i - 1] для нечётных i (можно получить только путём добавления +1 к числу i - 1)

Итак, считаем:

ans[2] = 1

ans[3] = ans[2] = 1

ans[4] = ans[3] + ans[2] = 2

ans[5] = ans[4] = 2

ans[6] = ans[5] + ans[3] = 4

ans[7] = ans[6] = 4

ans[8] = ans[7] + ans[4] = 6

ans[9] = ans[8] = 6

ans[10] = ans[9] + ans[5] = 8

ans[11] = ans[10] = 8

ans[12] = ans[11] + ans[6] = 12

ans[13] = ans[12] = 12

ans[14] = ans[13] + ans[7] = 16

ans[15] = ans[14] = 16

ans[16] = ans[15] + ans[8] = 22

Значит 16 из 2 можно получить И столькими же можно получить 33 из 2 выполняя условия задачи.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Имеется текст , объем которого 20 килобайт (на каждой странице теста 40 строк по 64 символа в строке, 1 символ занимает 8 бит)определить количество страниц в тесте
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Nazaruk_Kodochigov
alexk13
rnimsk149
Natacha3636672
lenapopovich556510
Nasteona1994
AverinAA6077
ashantik
Ofelya1308
merx80
Оксана Николаевич
msk27
e3913269
Kashirina
lukanaft