Врезультате работы алгоритма y = x - 1 x = 2 + y y = x + y вывод y переменная y приняла значение 10. какое число являлось значением переменной х до начала работы алгоритма?
Y = X - 1 (1) X = 2 + Y (2) Y = X + Y (3) Из (2) и (3) следует, что 10 = (2 + Y) + Y ⇒ Y = 4 (после выполнения команды 1) X = 6 (после выполнения команды 2) Значит, до работы алгоритма X = 5 Проверка: X = 5 Y = X-1 = 5-1 = 4 X = 2+Y = 2+4 = 6 Y = X+Y = 6+4 = 10
Дадим исходным значениям X и Y индексы 1, а затем, при каждом переопределении значений, наращивать индексы на 1. Y₁ = X₁ - 1 (1) X₂ = 2 + Y₁ (2) Y₂ = X₂ + Y₁ (3) Нам известно, что Y₂=10. а теперь будем делать последовательные замены 10 = X₂ + Y₁ (из 3) 10 = 2 + Y₁ + Y₁ (с учетом 2) 10 = 2 + 2Y₁ → Y₁ = 4 Осталось подставить в (1) 4 = X₁-1 → X₁ = 5
Var A:array[1..4] of integer; i,j,R,P:integer; function HOD(c,b:integer):integer; begin while c<>b do if c>b then c:=c-b else b:=b-c; HOD:=c; end; function HOK(c,b, RR:integer):integer; begin if ((c mod b=0) or (b mod c=0)) and ((c div b > 1) or (b div c > 1)) then begin if c>b then HoK:=c else HOK:=b; end else HOK:=(c*b) div RR; end; begin A[1]:=36; A[2]:=54; A[3]:=18; A[4]:=15; P:=1; R:=HOD(A[1],A[2]); P:=HOK(A[1], A[2], R); for i:=3 to 4 do begin R:=HOD(R, A[i]); P:=HOK(P, A[i],R); end; writeln('HOK = ',P); end.
Var A:array[1..4] of integer; i,j,R,P:integer; function HOD(c,b:integer):integer; begin while c<>b do if c>b then c:=c-b else b:=b-c; HOD:=c; end; function HOK(c,b, RR:integer):integer; begin if ((c mod b=0) or (b mod c=0)) and ((c div b > 1) or (b div c > 1)) then begin if c>b then HoK:=c else HOK:=b; end else HOK:=(c*b) div RR; end; begin A[1]:=36; A[2]:=54; A[3]:=18; A[4]:=15; P:=1; R:=HOD(A[1],A[2]); P:=HOK(A[1], A[2], R); for i:=3 to 4 do begin R:=HOD(R, A[i]); P:=HOK(P, A[i],R); end; writeln('HOK = ',P); end.
X = 2 + Y (2)
Y = X + Y (3)
Из (2) и (3) следует, что
10 = (2 + Y) + Y ⇒ Y = 4 (после выполнения команды 1)
X = 6 (после выполнения команды 2)
Значит, до работы алгоритма X = 5
Проверка:
X = 5
Y = X-1 = 5-1 = 4
X = 2+Y = 2+4 = 6
Y = X+Y = 6+4 = 10