Запишем условие в 10-ном коде:
х(10)+2738-2584=138, х(10)=-16(10), двоичное отрицательное число в дополнительном коде х(2)=10000(2)
Всего используется символов = 12 букв + 10 цифр = 22 символа
2^x>=22, x = 5 (бит)
5 бит используется для кодирования 1 символа
1 номер = 5(бит) * 6(символов) = 30 (бит) / 8 = 3,75 (байт)
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программа не работает, обновите версию!
uses GraphABC;
begin
Pen.Width:=3;
Brush.Color:=ARGB(0,0,0,0); // прозрачная кисть
for var i:=0 to 3 do
for var j:=0 to 2 do
Rectangle(20+140*i,20+140*j,150+140*i,150+140*j); //4x3 квадрата
for var i:=0 to 2 do
for var j:=0 to 1 do
Rectangle(90+140*i,90+140*j,220+140*i,220+140*j); //3x2 квадрата
end.
Для не случайных чисел:
Код на C++
#include <iostream>
using namespace std;
int main(){
setlocale(LC_ALL, "Russian");
int array[100]; //инициализировали массив
int morethen51 = 0;
for(int i = 0; i < 100; i++){
array[i] = i; //Заполняем массив
}
for(int i = 0; i < 100; i++){
if(array[i] > 51){
morethen51++;
}
}
cout << "Чисел, которые больше 51: " << morethen51;
return 0;
}
Маловато баллов за такую задачку.
Var z:array[1..16] of integer; k:array[1..16] of real; i,p,s:integer; max:real;
Begin
randomize;
for i:=1 to 16 do z[i]:=random(101);
write('Z=');
for i:=1 to 16 do write(z[i],' ');
writeln;
writeln;
p:=0;
s:=0;
for i:=1 to 16 do
if (i mod 2)<>0 then
begin
s:=s+z[i];
p:=p*z[i];
end;
writeln('P=',p);
writeln('S=',s);
writeln;
for i:=1 to 16 do k[i]:=z[i]*<span>exp(ln(i*z[i])/3);
</span>write('K=');
for i:=1 to 16 do write(k[i]:0:0,' ');<span>
max:=k[1];
for i:=1 to 16 do
if k[i]>max then max:=k[i];
writeln;
writeln('max=',max:0:0);
for i:=1 to 16 do
if k[i]=max then k[i]:=0;
write('K=');
for i:=1 to 16 do write(k[i]:0:0,' ');
End.</span>