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
//PascalABC.NET //Дан целочисленный массив из 40 элементов. Элементы массива могут //принимать значения от -10000 до 10000. Написать алгоритм, который //находит и выводит среднее арифметическое всех отрицательных элементов //массива, оканчивающихся цифрой 7. Гарантируется, что хотя бы один //такой элемент в массиве есть. Исходные данные объявлены так, как //показано ниже. Запрещается использовать переменные, не описанные //ниже, но разрешается не использовать часть из них.
const N = 40; var //a : array[1..N] of integer; i, s, r, x : integer; sr: real; begin //Для любителей заполнять вручную: //for i := 1 to 40 do readln(a[i]);
//Заполним массив 40-ка случайными значениями var a := ArrRandomInteger(N+1, -10000, 10000); //Гарантировано разместим число, оканчивающееся на 7 a[Random(0,40)] := -10 * Random(0,999) - 7; //Уберем лишний элемент, созданный автоматически a[0] := 0; //Напечатаем массив a.println; writeln('----------------'); //Просмотрим весь массив и найдя отрицательное, оканчивающееся на 7 //число, учтём его foreach i in a do if (i < 0) and (i mod 10 = -7) then begin r += i; s += 1; write(i,' ') end; //Выведем среднее арифметическое writeln('Ср.ар: ',r/s) end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку