На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Название темы должно быть информативным !
Прежде чем задать вопрос, воспользуйтесь Поиском. и проверьте в FAQ (ЧАВО) Паскаля
Чтобы получить вразумительный ответ, подробно опишите проблему: что надо сделать, что не получается и номер ошибки (если есть), которую выводит компилятор.
Для вставки кода ваших программ используйте, пожалуйста, кнопку СODE=pas или выпадающий список СODE для других языков (подсветка синтаксиса).
[!] Как правильно задавать вопросы | Руководство по языку B.Pascal 7 & Objects/LR | Borland Pascal. Руководство пользователя
Модераторы: volvo877
  
> Диофантовы уравнения в натуральных числах
    Здравствуйте!!! Помогите пожалуйста найти все натуральные решение ЛДУ
    я написал код, но у меня выводит не все натуральные решения из отрезка, а иногда даже выскакивают целые числа, что неправильно
    Скрытый текст
    ExpandedWrap disabled
      var
      a, a1, b, b1, c, c1, d, x, y, x1, y1, x2, y2, q, r,i,k: Longint;
      t1,t2:integer;
       
      begin
      write('Введите число А : ');readln(a); a1 := a;
      write('Введите число В : ');readln(b); b1 := b;
      write('Введите число С : ');readln(c); c1 := c;
      writeln(a,'*x + ',b,'*y = ',c);
      if b = 0 then
      begin
      d := a; x := 1; y := 0
      end
      else
      begin
      x1 := 0; x2 := 1;
      y1 := 1; y2 := 0;
      while b > 0 do
      begin
      q := a div b;
      r := a - q * b;
      x := x2 - q * x1;
      y := y2 - q * y1;
      a := b; b := r;
      x2 := x1; x1 := x;
      y2 := y1; y1 := y
      end;
      d := a; x := x2; y := y2
      end;
      t1:=Trunc((x*c)/b1);
      t2:=Trunc((-y*c)/a1);
      writeln('t = [ ',t2,', ',t1,' ] ');
      writeln('(x, y) = (', x,'*',c,' - ',b1, ' * t, ', y,'*',c,' + ',a1, ' * t ) = (', x*c,' - ',b1, ' * t, ', y*c,' + ',a1, ' * t )');
      k:=t1-t2;
      for i:=1 to k do
      writeln('(x, y) = (',x*c-b1*(t2+i),', ',y*c+a1*(t2+i),')');
      end.
    Сообщение отредактировано: Simon25 -
      Вообще натуральные числа - подмножество целых, поэтому противопоставление их странно выглядит.

      Что делает Trunc в целочисленном алгоритме?

      Посмотрите, что делается тут: http://e-maxx.ru/algo/diofant_2_equation
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0266 ]   [ 15 queries used ]   [ Generated: 29.03.24, 11:55 GMT ]