GAECHKA
Твоя помощница в решении задач

Найдите натуральное наименьшее решение уравнения

Найдите натуральное наименьшее решение уравнения
0
вопрос задан

Источник


2 ответа
a=c=1;b=d=2 собственно все. в примере c=d, что нарушает условия. что программа делать то должна?
Во-первых, это никакая не задача Рамануджана. Я возмущён. Приписывать задачу с таким простеньким условием Рамануджану - это, простите, нелепо. Единственный случай из жизни Рамануджана, который хоть как-то похож на условие этой задачи:
Он (Рамануджан) обладал поразительными способностями подмечать арифметические закономерности, терпеливо рассматривая огромный числовой материал — искусство, которым виртуозно владели Эйлер и Гаусс, но которое было в значительной степени утрачено к XX веку. Многое в числовой кладовой открывалось при случайных обстоятельствах. Харди вспоминал, как он навестил в больнице Рамануджана и сказал, что он приехал на такси со «скучным» номером 1729. Рамануджан разволновался и воскликнул: «Харди, ну как же, Харди, это число — наименьшее натуральное число, представимое в виде суммы кубов двумя различными способами!» (1729 = 13 + 123 = 93 + 103).
Но тут, как видите, кубы, а не квадраты.

Во-вторых, как и указал Joy, задача слишком простая. Если бы было a≠b≠c≠d, тогда бы другое дело, хотя тоже ничего сложного, это было бы 65 = 12 + 82 = 42 + 72.

Программа для этого случая:
label
  1;
 
var
  a, b, c, d: byte;
  m: set of byte;
 
begin
  for a := 1 to 255 do
    for b := 1 to 255 do
      for c := 1 to 255 do
        for d := 1 to 255 do
          if (a  b) and (a  c) and (a  d) and
             (b  c) and (b  d) and (c  d) and
             (a * a + b * b = c * c + d * d) then
            begin
              write(a, '^2 + ', b, '^2 = ', c, '^2 + ', d, '^2');
              goto 1
            end;
1:
  readln
end.
Для случая с Рамануджаном, упомянутым Харди, замените строки
             (a * a * a + b * b * b = c * c * c + d * d * d) then
            begin
              write(a, '^3 + ', b, '^3 = ', c, '^3 + ', d, '^3');