Программа решения уравнения A*X + B*Y = C в целых числах на отрезке [P,O] методом перебора — Pascal(Паскаль)


Program pr41(Input, Output);
Label 1, 2, 3;
Var 
A, B, C : Integer;
X, Y: Integer;
P, O: Real;
k: Integer;
 
Begin
 
WriteLn ('PASCAL: Решение уравнения A*X+B*Y=C в целых числах на [P,O].');
WriteLn ('Введите коэффициенты:'); 
Write('A = '); ReadLn(A); 
Write('B = '); ReadLn(B);
Write('C = '); ReadLn(C);
WriteLn ('Введите концы отрезка:'); 
Write('P = '); ReadLn(P); 
Write('O = '); ReadLn(O);
 
If Round (P) = P Then Goto 1; 
If P < 0 Then P := P + 1; 
 
1: If Round (O) = O Then Goto 2;
If O < 0 Then O := O + 1; 
 
2: k := 1;
For X := Round (P) To Round (O) Do
For Y := Round (P) To Round (O) Do
Begin
If A * X + B * Y <> C Then Goto 3;
WriteLn ('Решение номер ', k, ': X = ', X, 'Y = ', Y); 
k := k + 1; 
3:
End;
 
If k = 1 Then
WriteLn ('Нет целых корней.'); 
 
ReadLn;
End. 

Leave a Comment

56 − 53 =