Найти наименьшее натуральное число 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.
- В первой строке объявлена константа Max, которая определяет максимальное значение для переменных A и B (поскольку они должны быть не больше 15).
- Далее определён тип записи tCube, который содержит три поля для хранения чисел A, B и C.
- Затем объявлены следующие переменные:
- ArrS — счётчик количества заполненных ячеек массива Arr;
- Arr — массив размером Max*Max, содержащий записи типа tCube;
- A, B, C — текущие значения переменных, которые участвуют в вычислениях;
- Cube — объект типа tCube, используемый для хранения текущих значений переменных.
- Далее идёт цикл, который перебирает все возможные значения для B от 1 до Max и для A от 1 до B.
- Внутри цикла перебираются все возможные значения для C, которые могут быть представлены в виде суммы кубов A и B.
- Если найдено совпадение (то есть текущее значение Cube.C уже встречалось), то выводится сообщение с числом Cube.C, после чего выполнение программы прекращается.
- Если совпадений не найдено, то значение Cube.C записывается в массив Arr, увеличивая при этом счётчик ArrS.
- После завершения циклов выводится сообщение
None
, что означает, что наименьшее натуральное число не найдено.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д