Вывести в 10 столбиков все шестизначные числа которые деляться без остатка ** сумму...

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

Вывести в 10 столбиков все шестизначные числа которые деляться без остатка на сумму квадратов своих цифр


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

{
Вывести в 10 столбиков все шестизначные числа которые деляться без остатка на сумму квадратов своих цифр
}

program p1;

var
  fx: integer;// счетчик всех 6-ти значных чисел
  i, j, k: byte;// счетчики
  ax, bx: integer;// вычисления
  sum: integer;// сумма квадратов цифр числа

begin
 
  k := 1;// столбики
  for fx := 100000 to 999999 do
  begin
    sum := 0; //сумма квадратов
    for j := 6 downto 1 do
    begin
      ax := 1;
      for i := 1 to j - 1 do
        ax := 10 * ax;
      
      bx := (fx div ax) mod 10; //вычленение отдельных цифр
      bx := bx * bx; //квадрат цифры
      
      sum := sum + bx;
    end;
    
    if (fx div sum) = (fx / sum) then
      if (k < 11) then begin
        write(fx, ' ');
        k := k + 1;
      end else begin
        writeln;
        k := 1;
      end;
  end;  
 
end.


image
(10.8k баллов)