Во-первых, X1 < 8, иначе число 2N в 16-ной записи станет 4-значным. Можно написать такую программу поиска этих чисел Начало k = 0 ' Это счетчик чисел, которые мы ищем Цикл по X1 от 1 до 7 Цикл по Y1 от 0 до 15 Цикл по Z1 от 0 до 15 N = X1*256 + Y1*16 + Z1 M = 2*N X2 = Int (M / 256) Y2 = Int ((M - X2*256) / 16) Z2 = M Mod 16 Если (X1+Y1+Z1 = X2+Y2+Z2) And ((X1 = 2) Or (Y1 = 2) Or (Z1 = 2), То k = k + 1 Конец Если Конец цикла по Z1 Конец цикла по Y1 Конец цикла по X1 Вывод k Конец
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("Ошибка закрытия файла ввода/вывода!");
}
}
}
}