Написать программу, которая находит и выводит на печать все четырехзначные abcd, числа а, b, с, d — различные цифры, для которых выполняется: ab-cd=a+b+c+d- Pascal(Паскаль)

Задачу можно решать несколькими способами. Одним из возможных способов является перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие:
10а+b-(10c+d)=a+b+c+d;
9(a-c)=2(c+d);
(a-c)/(c+d)=2/9
Проанализировав первое условие, получаем, что а=с+2, d=9-c, следовательно 0<=c<=7.
program prim4;
  uses crt;
  var a,b,c,d: integer;
begin
  clrscr;
  for c:=0 to 7 do
    begin
      a:=c+2; d;=9-c;
      for b:=0 to 9 do
        begin
          if (b<>c)and(b<>a)and(b<>d)
          then
          write(a,b,c,d);
          writeln
        end;
    end;
  readln;
end.
Таким образом, мы решили задачу, значительно сократив перебор.

Leave a Comment

66 − 59 =