Написать программу, которая находит из всех четырехзначных чисел, такие числа, разность произведения первых двух цифр и произведения последних равна сумме всех цифр. Четырехзначное число образуется четырьмя цифрами , тогда искомые числа, это те, для которых выполняется следующее равенство: a*b-c*d=a+b+c+d — Pascal(Паскаль)

function F(n: integer): boolean;
begin
  F := (n div 1000) * (n div 100 mod 10) - (n div 10 mod 10) * (n mod 10) = (n div 1000) + (n div 100 mod 10) + (n div 10 mod 10) + (n mod 10);
end;
 
var
  i: integer;
begin
  for i := 1000 to 9999 do
  begin
    if F(i) then
      Write(i, ' ');
    if i mod 1000 = 0 then
      WriteLn;
  end;
  ReadLn;
end.

Следующий вариант

var
  a,b,c,d: byte;
begin
  for a := 1 to 9 do
    for b := 0 to 9 do
      for c := 0 to 9 do
        for d := 0 to 9 do
          if a * b - c * d = a + b + c + d then
            Write(a, b, c, d, ' ');
  ReadLn;
end.

Leave a Comment

10 + = 17