Вывести щестизначных "счастливых" чисел (сумма первых трех цифр равна сумме трех последних), кратных семи в 10 колонок.

poli36914 poli36914    2   09.06.2019 06:00    1

Ответы
foma2280 foma2280  08.07.2020 06:21
Uses crt;
var
  chislo,i,happy,ten: integer;
  a: array [1..6] of integer;
begin
  happy := 100002; {наименьшее число,кратное 7}
  ten:=1; {счётчик колонок}
  while happy<999999 do
  begin
  {делим число happy на цифры с временной переменной chislo}
  {и сохраняем эти цифры в массиве а}
    chislo := happy;
    for  i:= 1 to 6 do
    begin
      a[i] := chislo mod 10;
      chislo:= chislo div 10;
    end;
   {проверяем,счастливое ли число}
    if (a[1] + a[2] + a[3] = a[4] + a[5] + a[6]) then
      begin
       {если счастливое,то выводим}
        write(happy,' ');
        ten:=ten+1;
        if ten>10 then
          {если уже напечатано 10 чисел, то переходим в новую строку}
          begin
            ten:=1;
            writeln();
          end;
      end;
    happy:=happy+7;
  end;
end.
ПОКАЗАТЬ ОТВЕТЫ
Dan4ikFun4ik Dan4ikFun4ik  08.07.2020 06:21
var
  b: integer;
  a: array [0..5] of byte;

begin
  for i: integer := 100000 to 999999 do
  begin
    b := i;
    for d: integer := 0 to 5 do
    begin
      a[d] := b mod 10;
      b := b div 10;
    end;
    if (a[0] + a[1] + a[2] = a[3] + a[4] + a[5]) then
      writeln(i);
  end;
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика