Среди всех n-значных чисел указать те, сумма цифр которых равна заданному числу k. (k и n вводить с клавиатуры.) — Pascal(Паскаль)

uses crt;
var n,i,j,k,f,p:integer;
    s:integer;
begin
clrscr;
repeat
write('Введите количество цифр от 1 до 9 n=');
readln(n);
until n in [1..9];
write('k=');readln(k);
j:=1;
for i:=1 to n do
j:=j*10;{определяем степень 10}
f:=0;
for i:=j div 10 to j-1 do{от в 10 раз меньше до на 1 меньше}
 begin
  p:=i;s:=0;
  while p>0 do
   begin
    s:=s+p mod 10;{считаем сумму цифр числа}
    p:=p div 10;
   end;
  if s=k then{если равна к}
   begin
    write(i,' ');{выводим}
    f:=1;{фиксируем совпадение}
   end;
 end;
if f=0 then write('Takih chisel net!');;
readln
end.

Leave a Comment

87 − 81 =