1. Складіть блок-схему алгоритму, у якому при введенні кількості кутів геометричної фігури – «3» або «4» - буде побудовано відповідну фігуру – трикутник або квадрат. У випадку іншої відповіді повинно з’я витися повідомлення про помилку.
1) 144 - это 12². Следующий квадрат - это 13²=169 и из 169 мы никак не получим за 4 вычитания двоек число 144. Поэтому последняя команда - это 1 (возведи в квадрат). 2) Теперь из 2 надо получить 12 не более, чем за 4 команды. Если 2 возвести в квадрат, получим 4 и этого мало, поэтому возведем 4 еще раз в квадрат, получив 16. Два подряд вычитания двоек как раз дадут 12. 3) Решение 1 (возведи в квадрат) - получаем 4 1 (возведи в квадрат) - получаем 16 2 (вычти 2) - получаем 14 2 (вычти 2) - получаем 12 1 (возведи в квадрат) - получаем 144
2) Теперь из 2 надо получить 12 не более, чем за 4 команды. Если 2 возвести в квадрат, получим 4 и этого мало, поэтому возведем 4 еще раз в квадрат, получив 16. Два подряд вычитания двоек как раз дадут 12.
3) Решение
1 (возведи в квадрат) - получаем 4
1 (возведи в квадрат) - получаем 16
2 (вычти 2) - получаем 14
2 (вычти 2) - получаем 12
1 (возведи в квадрат) - получаем 144
ответ: 11221
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("Ошибка закрытия файла ввода/вывода!");
}
}
}
}