Для решения задачи используется формула Хартли: N = 2^i или i = log(2)N
Количество целых чисел в диапазоне [5..20] - 16 (20-5+1=16).
Количество информации об угаданном числе = log(2)16 = 4 бита (2^4=16).
Жители 1 планеты: 256=2^8. Один знак - 8 бит
жители 2: 128=2^7. Один знак - 7 бит
Отв: 10*8 бит = 80 бит , 10*7=70 бит. для жителей 1 планеты сообщение из 10 знаков несет больше инфы.
на сколько? 80-70=10 бит
лал
Var a,b,res1,res2:integer;
begin
write('ведите делимое => ');
readln(a);
writeln('введите делитель => ');
readln(b);
res1:=a div b;
res2:=a mod b;
writeln('результат целочисленного деления=> ',res1,' остаток => ',res2);
end.
#include <iostream>
#include <string>
#include <conio.h>
<span>#include <cstdlib>
using namespace std;
struct TRAIN
{
string name,time;
int number;
};
void qs(struct TRAIN *arr,int first,int last)
{
int x=arr[(first+last)/2].number,
i=first,j=last;
do{
while (arr[i].number < x) i++;
while (arr[j].number > x) j--;
if (i<=j){ if (arr[i].number>arr[j].number)
{
int t=arr[i].number;
string str = arr[i].name;
string st = arr[i].time;
arr[i].number = arr[j].number;
arr[i].name = arr[j].name;
arr[i].time = arr[j].time;
arr[j].number = t;
arr[j].name = str;
arr[j].time = st;
}
i++;
j--;
}
}while(i<=j);
if (first<j) qs(arr, first,j);
if (last>i) qs(arr,i,last);
<span>}
void print(struct TRAIN *arr, int n)
{
cout<<"Пункт назначения\tНомер\tВремя\n";
for(int i(0); i < n; i++)
cout << arr[i].name << '\t' << arr[i].number << '\t' << arr[i].time <<'\n';
cout <<endl;
}
int main(int argc, char *argv[])
{
setlocale(0,"");
const int N=8;
TRAIN train[N];
for(int i(0); i < N; i++)
{
cout <<"Пункт назначения: ";
getline(cin,train[i].name);
cout <<"Номер: ";
cin >>train[i].number;
cin.get();
cout <<"Время: ";
getline(cin, train[i].time);
<span> system("cls");
</span></span></span> }
<span> print(train,N);
qs(train,0,N-1); //Быстрая сортировка
int n;
cout <<"Номер поезда: ";
cin>>n;
bool f=1;
for(int k=0; k < N; k++)
if (train[k].number == n)
{
cout << train[k].name << '\t' << train[k].number << '\t' << train[k].time <<'\n';
f=0;
break;
}
if(f) cout << "Нет такого номера поезда";
cout <<endl;
print(train,N);
_getch();
return 0;
</span>}
1) использовать Робот
алг
нач
вниз
нц пока не слева свободно и снизу свободно
закрасить
вниз
кц
нц пока не снизу свободно и не слева свободно
закрасить
вправо
кц
нц пока не снизу свободно и справа свободно
закрасить
вправо
кц
нц пока не снизу свободно и не справа свободно
закрасить
вверх
кц
нц пока не справа свободно
закрасить
вверх
кц
кон