Пояснения
N - количество символов в алфавите (включая пробелы и другие символы)
k - колличество букв в сообщении (в данном случае строки умножаем на кол-во букв в строке)
i - колличество бит, выделенных под кодированние одного символа
V - объем сообщения
формула - запомнить на будущее для более простых вычислений
N=16
k=12*20=240
v=?
Решение
1)N=2 в степени i (формула), значит 16=2 в степени 4, значит i=4 бит
2)V=k*i(формула), значит при k=240 , i=4, V=240*4=960 бит = 120 байт
ответ: 960бит, или 120байт
public static void main(String args[]){
String fileName = "Array.txt", aNum = ""; int nArray[] = new int[201], iChar; nArray[0] = 0; long rMulti;
java.io.FileReader iFile = null; java.io.FileWriter oFile = null;
try{
iFile = new java.io.FileReader(fileName);
while((iChar = iFile.read())!=-1)
if(iChar!=' ')aNum+=(char)iChar;
else {nArray[++nArray[0]] = new Integer(aNum);aNum="";}
if(!aNum.equals(""))nArray[++nArray[0]] = new Integer(aNum);
oFile = new java.io.FileWriter(fileName);
for(rMulti = 1; nArray[0]>0; nArray[0]--)rMulti*=nArray[nArray[0]];
oFile.write(rMulti+"");
}catch(java.io.FileNotFoundException fnfe){
System.out.println("Файл не был найден!");
}catch(java.io.IOException ioe){
System.out.println("Ошибка ввода/вывода в файл!");
}finally{
try{
iFile.close(); oFile.close();
}catch(java.io.IOException ioe){
System.out.println("Ошибка закрытия файла ввода/вывода!");
}
}
}
}