Найти все трехзначные числа, такие что сумма цифр равна М а само число делится на В — Pascal(Паскаль)

VAR
 i, buf, M, B: Word;
 count, sum: Word; {число чисел нужно знать для вывода - есть ли вообще}
BEGIN
 Write('Введите число, которому должна быть равна сумма цифр: ');
 ReadLn(M);
 if (M < 1) or (M > 27) then begin
  WriteLn('Недпустимое значение M: ',M);
  Halt(1);
 end;
 Write('Введите число, на которое должно делится: '); ReadLn(B);
 if (B > 999) then begin
  WriteLn('Недпустимое значение B: ',B);
  Halt(1);
 end;
 count := 0;
 for i:=100 to 999 do begin
   sum:=0;
   buf := i;
   while buf <> 0 do begin
     sum := sum + buf mod 10;
     buf := buf div 10
   end;
   if (sum = M) and ((i mod B) = 0) then begin
    count := count + 1;
    write(i:8)
   end;
 end;
 if count = 0 then writeLn('Таких чисел нет') else WriteLn
END.

Leave a Comment

16 − 10 =