Есть ответ 👍

Даны натуральные числа a, b, c. если уравнение ax+by=c имеет решения в целых числах, то выберите то решение, в котором число x имеет наименьшее неотрицательное значение и выведите это решение (два числа x и y через один пробел). var a,b,c,x,y,k,l,j,v,d: integer; begin read(a); read(b); read(c); k: =0-c; d: =1; for x: =1 to c do for y: =k to c do begin if a*x+b*y=c then if d< =x then begin d: =x; v: =y; end; end; writeln(d,' ',v); end. выводит не наименьшее, а наибольшее, исправить, праграмма написана на паскале если что оч много

173
322
Посмотреть ответы 2

Ответы на вопрос:


Исправленный код программы

var

a,b,c,x,y,k,l,j,v,d: integer;

begin

read(a);

read(b);

read(c);

k: =0-c;

d: =1;

for x: =1 to c do

  for y: =k to c do  

  begin

    if a*x+b*y=c then

    if d> =x then begin

      d: =x;

      v: =y;

    end;

  end; writeln(d,' ',v);

end.

объяснение

d это переменная, обозначающая минимальное значение x

ошибка была в строке   if d< =x then begin

если x меньше а не больше минимального, то минимальному должно присваиваться значение x

исправленная строка if d> =x then begin


д в а е ж б г (ftp: // info.edu/list.doc)

Популярно: Информатика