6. рядом с вами находятся две корзины. первая наполнена
яблоками разных размеров, вторая — пустая.
шаг 1. вы берёте любое яблоко из первой корзины и кладёте его на стол перед собой.
шаг 2. вы достаёте следующее яблоко из первой корзины и
выполняете сравнение:
если яблоко в руках больше, чем яблоко на столе, то вы
опускаете яблоко, которое у вас в руках, во вторую корзину;
— если яблоко в руках меньше яблока на столе, вы кладёте
яблоко на стол, аяблоко, которое лежало на столе, перекладываете во вторую корзину.
вы повторяете шаг 2 до тех пор, пока первая корзина не
опустеет.
какое яблоко окажется на столе в самом конце?
попытайтесь сформулировать, что является инвариантом цикла в алгоритме. сформулируйте условие с использованием терминологии, рассмотренной в этом
параграфе.
3 кбайта= 3*1024*8=24576 бит
1 мбайт = 1*1024*8=8196 байт
4096 бит =4096\8\1024= 0.5 кбайта
2.5 мбайт=2.5*1024=2560 кбайт
Задача 2.k-120 символов
N(мощность алфавита) = 512=> i=9 бит
I=k*i
I=120*9=1080 бит
Задача 3.I=2 кб
k=4096 символов
N=2^i I=k*i i= 2*1024*8/4096=4
2^4=16 - ответ
Задача 4.Племя мульти:
N=64 => i=6 бит
Значит 150*6=900 бит
Племя пульти:
N=512 =>i=9 бит
Значит 50*9=450 бит
Задача 5.I=8 кб
N=16 => i=4
k-? k=I/i k=8*1024*8/4=16 384 - всего символов
16 384/512=32 страницы
Решал эту штуку на с++.
И я думаю это самый норм язык для этого, потому что я перебирал
Кстати, если мой учитель это читает, я сам сделал эту штуку!
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
string a,b,c,mi;
int y = 0;
cin >> a >> b >> c;
vector <string> z;
if (a.length() <= b.length() && a.length() <= c.length()){
mi = a;
}
else if (b.length() <= a.length() && b.length() <= c.length()){
mi = b;
}
else{
mi = c;
}
for (int i = 1;i <= mi.length();i++){
y = 0;
for (int l = 0;l < mi.length() - i + 1;l++){
string s;
for (int j = 0;j < i;j++){
s = s + mi[l + j];
}
if (a.find(s) != std::string::npos && b.find(s) != std::string::npos && c.find(s) != std::string::npos){
z.push_back(s);
y = 1;
break;
}
}
if (y == 0){
break;
}
}
cout << z[z.size() - 1];
return 0;
}