Объяснение: Берешь ближайшую степень двойки, которая меньше этого числа, затем записываешь все степени двойки, которые меньше этой степени двойки(таблицей), затем составляешь сумму из этих чисел, чтобы получить искомое число. Ставишь 1, где берешь цифру, 0, где не берешь
// PascalABC.NET 3.1, сборка 1250 от 28.05.2016 begin var a:=MatrixRandom(3,2,-99,99); Writeln('Массив А'); for var i:=0 to 2 do begin for var j:=0 to 1 do Write(a[i,j]:4); Writeln end; var b:=MatrixRandom(3,2,-99,99); Writeln('Массив B'); for var i:=0 to 2 do begin for var j:=0 to 1 do Write(b[i,j]:4); Writeln end; var c:array[0..2,0..1] of real; Writeln('Результирующий массив'); for var i:=0 to 2 do begin for var j:=0 to 1 do begin c[i,j]:=a[i,j]*b[i,j]/10; Write(c[i,j]:7:1) end; Writeln end end.
Тестовое решение Массив А -91 -93 -62 9 -97 6 Массив B -64 18 57 -34 -65 -30 Результирующий массив 582.4 -167.4 -353.4 -30.6 630.5 -18.0
begin Write('введите натуральное число: '); Readln(n);
{инициализация начальных значений минимума и максимума} min := 9; max := 0;
{разбиение числа на отдельные цифры и поиск их минимума и максимума} while n <> 0 do begin if n mod 10 < min then min := n mod 10; if n mod 10 > max then max := n mod 10; n := n div 10 end;
{Вычисление и вывод среднего геометрического минимума и максимума} writeln('Среднее геометрическое: ', sqrt(max * min)); end.
Собственно сначала программа ищет минимальную и максимальную цифру в числе, а потом считает среднее геометрическое или среднее пропорциональное этих двух цифр.
Объяснение: Берешь ближайшую степень двойки, которая меньше этого числа, затем записываешь все степени двойки, которые меньше этой степени двойки(таблицей), затем составляешь сумму из этих чисел, чтобы получить искомое число. Ставишь 1, где берешь цифру, 0, где не берешь