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

var
  b:boolean;
   i,n,q:integer;
begin   
   write('n,q=');readln(n,q);
   b:=false;
   for i:=10 to 99 do 
     if (i mod q=0) and (i mod 10+i div 10=n) then begin
       writeln(i);
       b:=true;
     end;
   if not b then writeln('чисел не найдено');  
end.

Программа на onlinegdb

Вариант 2

var
  b:boolean;
  i,n,q:integer;
begin   
   write('n,q=');readln(n,q);
   b:=false;
   i:=10;
   if i mod q<>0 then i:=i-(i mod q)+q;
   while i<= 99 do begin
     if i mod 10+i div 10=n then begin
       writeln(i);
       b:=true;
     end;
     inc(i, q);
   end;
   if not b then writeln('чисел не найдено');  
end.

Вариант 3

var
  n,i,q:integer;
  b:boolean;
begin 
  readln(n,q);
  if n<10 then i:=10+n-1 else i:=(n-9)*10+9;
  b:=false;
  repeat
    if i mod q=0 then begin
      b:=true;
      writeln(i);
    end;
    i:=i+9;
  until (i>99) or (i mod 10+i div 10<>n);
  if not b then writeln('чисел не найдено');
end.

Leave a Comment

43 + = 48