Найти наименьшее натуральное число n, которое можно представить двумя различными способами в виде суммы кубов - Free Pascal

Узнай цену своей работы

Формулировка задачи:

Найти наименьшее натуральное число n, которое можно представить двумя различными способами в виде суммы кубов двух натуральных чисел.

Решение задачи: «Найти наименьшее натуральное число n, которое можно представить двумя различными способами в виде суммы кубов»

textual
Листинг программы
const
  Max = 15;
type
  tCube = record
    A, B, C : Integer;
  end;
var
  ArrS : Integer;
  Arr : array [1..Max*Max] of tCube;
  A, B, C : Integer;
  Cube : tCube;
begin
  ArrS := 0;
  for B := 1 to Max do
    for A := 1 to B do
      begin
        Cube.A := A;
        Cube.B := B;
        Cube.C := A*A*A+B*B*B;
        for C := 1 to ArrS do
          if Arr[C].C = Cube.C then
            begin
              WriteLn(Cube.C);
              Halt;
            end;
        Inc(ArrS);
        Arr[ArrS] := Cube;
      end;
  WriteLn('None');
end.

Объяснение кода листинга программы

В данном коде используется язык программирования Free Pascal.

  1. В первой строке объявлена константа Max, которая определяет максимальное значение для переменных A и B (поскольку они должны быть не больше 15).
  2. Далее определён тип записи tCube, который содержит три поля для хранения чисел A, B и C.
  3. Затем объявлены следующие переменные:
    • ArrS — счётчик количества заполненных ячеек массива Arr;
    • Arr — массив размером Max*Max, содержащий записи типа tCube;
    • A, B, C — текущие значения переменных, которые участвуют в вычислениях;
    • Cube — объект типа tCube, используемый для хранения текущих значений переменных.
  4. Далее идёт цикл, который перебирает все возможные значения для B от 1 до Max и для A от 1 до B.
  5. Внутри цикла перебираются все возможные значения для C, которые могут быть представлены в виде суммы кубов A и B.
  6. Если найдено совпадение (то есть текущее значение Cube.C уже встречалось), то выводится сообщение с числом Cube.C, после чего выполнение программы прекращается.
  7. Если совпадений не найдено, то значение Cube.C записывается в массив Arr, увеличивая при этом счётчик ArrS.
  8. После завершения циклов выводится сообщение None, что означает, что наименьшее натуральное число не найдено.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5
Похожие ответы