будем считать, что каждое четное однозначное число это определенный алфавит, мощность которого обозначается буквой N
N=2^i, подставим вместо N 2, получаем 2=2^i запишем левую часть как степень числа 2: 2^1=2^i, отсюда i=1 бит
подставим теперь вместо N 4, получаем 4=2^i запишем левую часть как степень числа 2: 2^2=2^i, отсюда i=2 бит
подставим теперь вместо N 6, получаем 6=2^i число 6 не является точной степенью числа 2, поэтому ответ найдем по таблице неточных степеней числа 2- i=2,58 бит
подставим теперь вместо N 8, получаем 8=2^i запишем левую часть как степень числа 2: 2^3=2^i, отсюда i=3 бит
задача2
запишем условие: мощность компьютерного алфавита равна N=256
I=120 бит, К-?
решение: найдем вес одного символа 256=2^i, i=8 бит
разделим I на i и получим кол-во символов в тексте 120/8=15
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand ( time(NULL) );
int arr[10],i,k=0;
//Заполняешь массив
for (i=0;i<sizeof(arr)/sizeof(int);i++)
{
arr[i] = 1+rand()%10;
}
//Перебираешь массив
cout<<"Массив :";
for (int i=0; i<sizeof(arr)/sizeof(int);i++)
{
cout<<" "<<arr[i];
if (arr[i] % 2 == 0)
{
k++;
}
}
cout<<endl<<"Четных :"<<k;
return 0;
}
Объяснение:
много на самом деле. Например самый банальный. Перебираешь массив и проверяешь, если текущий элемент при делении на 2 дает в остатке 0 - значит четное. Значит прибавляешь счетчик (например, переменную a++). Иначе ничего не делаешь. В конце выводишь результат счетчика (a)