Вообще-то надо брать log(по основанию 2 заданного числа) и округлять до большего целого. Но проще смотреть на степени числа 2:
а) 2^6=64<65, значит надо 7 бит
б) 2^8=256 -8 бит (ровно)
в) 2^15=32768 -15 бит
г) 2^12=4096>4095 12бит достаточно
д) 2^16=65536 -16 бит
е) 2^21=2097152 мало, значит надо 22 бита
#include <cstdio>
#include <iostream>
using namespace std;
int main ()
{
int n = 10;
int a[11];
srand(time(NULL));
for (int i = 0; i < n; i++)
{
a[i] = rand() % 100;
}
for (int i = 0; i < n; i++)
for (int j = 1; j < n; j++)
{
if (a[j - 1] < a[j])
swap(a[j - 1], a[j]);
}
for (int i = 0; i < n; i++)
{
cout << a[i] << " ";
}
}
srand( ) нужен для генерации каждый раз новой последовательности рандомных чисел
Var s,r,k: string;
j: integer;
begin
write('строка: '); readln(s);
foreach k in s.Split(' ').Distinct do
begin
j:=0;
foreach r in s.Split(' ') do
if r=k then j:=j+1;
writeln('слово ','"',k,'"',' встречается ',j,' раз');
end;
<span>end.
</span>