Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.
121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.
Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления. Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков. Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2. Остаётся число 6. Проверим
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("Ошибка закрытия файла ввода/вывода!");
}
}
}
}