Дано уравнение: xt1-yt2-zt3=0 Условие: x,y,z - вводит пользователь, причем x,y,z больше 0...

0 голосов
12 просмотров

Дано уравнение:
xt1-yt2-zt3=0
Условие:
x,y,z - вводит пользователь, причем x,y,z больше 0 (нуля);
t1,t2,t3 должны быть больше 0 (нуля).
Программа на Паскале решения данного уравнения.
Всю голову уже сломали..... Есть умные решения.


Информатика (12 баллов) | 12 просмотров
0

Числа натуральные или любые?

Дано ответов: 2
0 голосов

Если числа натуральные, что решение такое:


var

x,y,z,t1,t2,t3:integer;

begin

readln(x,y,z);

for t1:=1 to 9999 do

for t2:=1 to 9999 do

for t3:=1 to 9999 do

if x*t1 - y*t2 - z*t3 = 0 then

writeln('t1=',t1,'; t2=',t2,'; t3=',t3)

end.


Не знала в каком диапазоне должны быть корни, так что вместо 9999 ставьте, что нужно

(301 баллов)
0 голосов

Решение в натуральных числах

*** Текст программы на PascalABC.NET ***

begin
  var (x,y,z):=ReadInteger3('Введите x,y,z:');
  var (a1,a2,a3):=ReadInteger3('Введите максимальные значения t1,t2,t3:');
  var k:=0;
  for var t1:=1 to a1 do
    for var t2:=1 to a2 do
      for var t3:=1 to a3 do
        if x*t1-y*t2-z*t3=0 then k+=1;
  if k=0 then Writeln('Решений нет')
  else
  begin
    Writeln('Найдено решений: ',k);
    if ReadInteger('Выводить решения? (1-да):')=1 then
    for var t1:=1 to a1 do
      for var t2:=1 to a2 do
        for var t3:=1 to a3 do
          if x*t1-y*t2-z*t3=0 then
            Writeln($'{x}x{t1}-{y}x{t2}-{z}x{t3}=0')
  end;
  Writeln('Работа программы завершена')
end.

*** Пример работы с программой ***

Введите x,y,z: 3 5 7
Введите максимальные значения t1,t2,t3: 10 10 10
Найдено решений: 3
Выводить решения? (1-да): 1
3x4-5x1-7x1=0
3x8-5x2-7x2=0
3x9-5x4-7x1=0
Работа программы завершена

(2.0k баллов)