Даны 3 нечетных числа 3,5,1.результат является среднее арифметическое данных чисел.определите тип входных и выходных данных cоставить по таблице: переменные значения тип данных обоснование входные выходные 40 !
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var s:=Range(1,ReadInteger('n='),2).Select(x->Rec(x,x*x,x*x*x)); foreach var e in s do Writeln(e.Item1:10,e.Item2:10,e.Item3:10) end.
Преобразуем ( применяем формулу a→b=¬a+b) (x&15 =0) ∪(x&35=0)∪(x&A≠0) =1 ( то есть, в данном случае, если Х при поразрядном умножении на 15 и 35 не даёт 0, то при умножении на А тоже не даёт 0) 15 (10сс) =1111 (2сс); 35(10сс) = 100011(2сс) Проверяем поразрядно: (в 2сс) x=1 x&1111 =0 x&100011=0 ( x&A≠0) =1 x=10 =0 =0 =1 x=100 =0 =1 = 0 или1 x=1000 =0 =1 = 0 или1 и так далее
В первых двух строках x&1111 ложно, x&100011 ложно, значит х&А обязательно должно быть истинно. Число А, логическое произведение которого на числа x=1 и х=10 (в2сс) не даёт 0 есть число 11(2сс) 11 (2сс) = 3 (10сс) ответ 3
begin
var s:=Range(1,ReadInteger('n='),2).Select(x->Rec(x,x*x,x*x*x));
foreach var e in s do
Writeln(e.Item1:10,e.Item2:10,e.Item3:10)
end.
Тестовое решение:
n= 20
1 1 1
3 9 27
5 25 125
7 49 343
9 81 729
11 121 1331
13 169 2197
15 225 3375
17 289 4913
19 361 6859