Даны естественные числа a, b, c. Если уравнение ax+by=c имеет решения

Даны естественные числа 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 dlt;=x then begin
d:=x;
v:=y;
end;
end; Writeln(d,' ',v);
end.

Выводит не наименьшее, а наибольшее, помогите пожалуйста исправить, праграмма написана на паскале если что даю оч много раутов

Задать свой вопрос
1 ответ

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

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 dgt;=x then begin

     d:=x;

     v:=y;

   end;

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

end.

Объяснение

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

ошибка была в строке   If dlt;=x then begin

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

Исправленная строка If dgt;=x then begin

Оксана Ващанина
сейчас выводит ошибочный итог
Семён Фомичкин
А какие данные вы вводили?
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт