Написать программу , которая находит и выводит ** печать все четырёхзначные числа abcd ,...

0 голосов
201 просмотров

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


Информатика (16 баллов) | 201 просмотров
Дан 1 ответ
0 голосов

{Задачу можно решать несколькими способами. Одним из возможных способов является перебор всех четырехзначных чисел и проверка для каждого из них выполнения условий. Попробуем сократить перебор, для этого преобразуем второе условие:
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.}<br>
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.

{Таким образом, мы решили задачу, значительно сократив перебор.}

(39 баллов)