2^n в двоичной системе - это 1 и n нулей после неё. Например, 2^5(10) = 100000(2)
Приведём все степени к основанию 2
2^3702-2^468+2^1620-108
-108 можно представить как -128 + 16 + 4
2^3702-2^468+2^1620-2^7 + 2^4 + 2^2
Теперь выстраиваем степени в порядке убывания:
2^3702+2^1620-2^468-2^7 + 2^4 + 2^2
В выражении два вычитания подряд, избавимся от этого, заменив -2^468 на -2^469 + 2^468
2^3702+2^1620 -2^469+2^468-2^7 + 2^4 + 2^2
2^3702 - 1 единица
2^4 - 1 единица
2^2 - 1 единица
Количество единиц в вычитаниях будет равно разнице степеней. Например 1000000-100=1111
2^1620 -2^469 - количеств единиц 1620-469 = 1151
2^468-2^7 - количество единиц 468-7 = 461
Общее количество единиц равно 3+1151+461 = 1615
<em>// PascalABC.NET 3.2, сборка 1338 от 16.11.2016</em>
type
matrix=array[1..3,1..3] of real;
vector=array[1..3] of real;
procedure MatPrint(a:matrix);
begin
for var i:=1 to 3 do begin
for var j:=1 to 3 do Write(a[i,j]:6:2);
Writeln
end
end;
procedure VecPrint(a:vector);
begin
for var i:=1 to 3 do Write(a[i]:6:2);
Writeln
end;
procedure MV(a:matrix; v:vector; var t:vector);
// Умножение матрицы на вектор
begin
for var i:=1 to 3 do begin
var s:=0.0;
for var j:=1 to 3 do
s+=a[i,j]*v[j];
t[i]:=s
end;
end;
procedure VS(a,b:vector; var t:vector);
// Вычитание векторов
begin
for var i:=1 to 3 do t[i]:=a[i]-b[i]
end;
function SP(a,b:vector):real;
// Скалярное произведение векторов
begin
Result:=0.0;
for var i:=1 to 3 do Result+=a[i]*b[i]
end;
begin
var A:matrix:=((1,2,3),(1,2,1),(3,2,0));
var B:matrix:=((3,1,2),(0,4,3),(1,1,1));
var p:vector:=(0.1,1.7,-1.5);
var q:vector:=(-1.6,0.8,1.1);
var r:vector:=(-0.7,1.3,0.2);
Writeln('Матрица А'); MatPrint(A);
Writeln('Матрица B'); MatPrint(B);
Writeln('Вектор p'); VecPrint(p);
Writeln('Вектор q'); VecPrint(q);
Writeln('Вектор r'); VecPrint(r);
var t1,t2,t3:vector;
MV(A,q,t1);
MV(B,p,t2);
VS(t1,t2,t3);
Writeln('Скалярное произведение равно ',SP(t3,r))
end.
Результаты
Матрица А
1.00 2.00 3.00
1.00 2.00 1.00
3.00 2.00 0.00
Матрица B
3.00 1.00 2.00
0.00 4.00 3.00
1.00 1.00 1.00
Вектор p
0.10 1.70 -1.50
Вектор q
-1.60 0.80 1.10
Вектор r
-0.70 1.30 0.20
Скалярное произведение равно -5.27
Компьютер это электронно вычислительная машина
инструмент это основное средство
цена компьютера это широкий выбор персональных компьютеров
Var a, b, c: integer;
begin
readln (a, b, c);
writeln('Сумма: ' , a+b+c);
write('Произведение: ', a*b*c);
end.
y := Sqr(Sin(Exp(1 / 3 * Ln(x)))) - Exp(0.4 * (1 + a));