Не уверен, что написал все верно, так как программа смогла найти только одну такую пару чисел, но все же...
954 - 459 = 495
program P1;
uses
crt;
var
i,j,k,n,x,y,z : integer;
begin
clrscr;
for i := 1 to 9 do
begin
for j := 0 to 9 do
begin
if i = j then
continue;
for k := 0 to 9 do
begin
if (j = k) or (i = k) then
continue;
if k*100+j*10+i < 100 then
continue;
n := (i*100+j*10+k) - (k*100+j*10+i);
if n > 100 then
begin
x := n div 100;
y := (n - x * 100) div 10;
z := n - (x*100+y*10);
if ((x = i) and (y = j) and (z = k)) or
((x = i) and (y = k) and (z = j)) or
((x = j) and (y = i) and (z = k)) or
((x = j) and (y = k) and (z = i)) or
((x = k) and (y = j) and (z = i)) or
((x = k) and (y = i) and (z = j)) then
writeln(i*100+j*10+k,' - ',k*100+j*10+i,' = ',n);
end;
end;
end;
end;
readln;
readln;
end.
program Slova;
uses
crt;
var
words : array[1..100] of string;
wc : integer;
All,currword,tmp : string;
i,j : integer;
begin
clrscr;
wc := 1;
writeln('‚ўҐ¤ЁвҐ б«®ў : '); // 'Введите слова'
read(All);
All := All + chr(32)+ chr(32);
for i := 1 to length(All)-1 do
begin
if ord(All[i]) = 32 then
begin
if currword <> '' then
begin
words[wc] := currword;
inc(wc);
currword := '';
end;
continue;
end else
begin
currword := currword + All[i];
end;
end;
for i := 1 to wc-2 do
for j := i + 1 to wc-1 do
if words[i] > words[j] then
begin
tmp := words[i];
words[i] := words[j];
words[j] := tmp;
end;
writeln('ђҐ§г«мв в: '); // 'Результат'
for i := 1 to wc-1 do
write(words[i] + ' ');
readln(tmp);
read(tmp);
end.
var x,y,z:Integer;
begin
for x:=1 to 9 do
for y:=0 to 9 do
for z:=0 to 9 do
if 3*(1000+x*100+y*10+z)=x*1000+y*100+z*10+1 then Writeln(1,x,y,z);
Readln;
end.