2.2. Вычисления

К оглавлению1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 
51 52 53 54 55 56 57 58 59 60 61 62 

В этом разделе мы поговорим о вычислениях. Под вычис­лением (или алгоритмом) я подразумеваю действие некоторой машины Тьюринга, или, иными словами, действие компьютера, задаваемое той или иной компьютерной программой. Не следует забывать и о том, что понятие вычисления включает в себя не только выполнение обычных арифметических действий — таких, например, как сложение или умножение чисел, — но и некоторые другие процессы. Так, частью вычислительной процедуры могут стать и вполне определенные логические операции. В качестве примера вычисления можно рассмотреть следующую задачу:

(А) Найти число, не являющееся суммой квадратов трех чисел.

Под «числом» в данном случае я подразумеваю «натуральное число», т. е. число из ряда

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ....

 

Под квадратом числа понимается результат умножения натурального числа на само себя, т. е. число из ряда

 

0, 1, 4, 9, 16, 25, 36, ...;

представленные в этом ряду числа получены следующим обра­зом:

0 х 0 = 02,    1 х 1 = 12,    2 х 2 = 22,    3 х 3 = 32,    4 х 4 = 42,    5х5 = 52,    6 х 6 = 62,....

Такие числа называются «квадратами», поскольку их можно представить в виде квадратных матриц (пустой матрицей в начале строки обозначен 0):

           *  *,

  *,      *  * 

*  *  *

*  *  * ,

*  *  *

*   *   *   *    *   *   *   *,   *   *   *   *   *   *   *   *

*   *   *   *

С учетом вышесказанного решение задачи (А) может проис­ходить следующим образом. Мы поочередно проверяем каждое натуральное число, начиная с 0, на предмет того, не является ли оно суммой трех квадратов. При этом, разумеется, рассмат­риваются только те квадраты, величина которых не превышает самого числа. Таким образом, для каждого натурального числа необходимо проверить некоторое конечное количество квадра­тов. Отыскав тройку квадратов, составляющих в сумме данное число, переходим к следующему натуральному числу и снова ищем среди квадратов (не превышающих по величине рассматри­ваемое число) такие три, которые дают в сумме это самое число. Вычисление завершается лишь тогда, когда мы находим нату­ральное число, которое невозможно получить путем сложения любых трех квадратов. Попробуем применить описанную проце­дуру на практике и начнем наше вычисление с нуля. Ноль ра­вен 02 + 02 + 02, что, безусловно, является суммой трех квадратов. Далее рассматриваем единицу и находим, что она не равна О2 + + О2 + О2, однако равна О2 + О2 + I2. Переходим к числу 2 и выясняем, что оно не равно ни 02 + 02 + 02, ни 02 + 02 + 12, но равно02 + 12 + 12. Затем следует число 3 и сумма 3 = 12 + 12 + 12; далее — число 4 и сумма 4 = 02 + 02 + 22; после 5 = 02 + 12 + 22 и 6 = 12+12+22 переходим к 7, и тут обнаруживается, что ни одна из троек квадратов (всех возможных троек квадратов, каждый из которых не превышает 7)

02+02+02    02+02+12    02+02+22    02+12+12    02+12+22

02+22+22    12+12+12    12+12+22    12+22+12    22+22+22

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

В этом разделе мы поговорим о вычислениях. Под вычис­лением (или алгоритмом) я подразумеваю действие некоторой машины Тьюринга, или, иными словами, действие компьютера, задаваемое той или иной компьютерной программой. Не следует забывать и о том, что понятие вычисления включает в себя не только выполнение обычных арифметических действий — таких, например, как сложение или умножение чисел, — но и некоторые другие процессы. Так, частью вычислительной процедуры могут стать и вполне определенные логические операции. В качестве примера вычисления можно рассмотреть следующую задачу:

(А) Найти число, не являющееся суммой квадратов трех чисел.

Под «числом» в данном случае я подразумеваю «натуральное число», т. е. число из ряда

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, ....

 

Под квадратом числа понимается результат умножения натурального числа на само себя, т. е. число из ряда

 

0, 1, 4, 9, 16, 25, 36, ...;

представленные в этом ряду числа получены следующим обра­зом:

0 х 0 = 02,    1 х 1 = 12,    2 х 2 = 22,    3 х 3 = 32,    4 х 4 = 42,    5х5 = 52,    6 х 6 = 62,....

Такие числа называются «квадратами», поскольку их можно представить в виде квадратных матриц (пустой матрицей в начале строки обозначен 0):

           *  *,

  *,      *  * 

*  *  *

*  *  * ,

*  *  *

*   *   *   *    *   *   *   *,   *   *   *   *   *   *   *   *

*   *   *   *

С учетом вышесказанного решение задачи (А) может проис­ходить следующим образом. Мы поочередно проверяем каждое натуральное число, начиная с 0, на предмет того, не является ли оно суммой трех квадратов. При этом, разумеется, рассмат­риваются только те квадраты, величина которых не превышает самого числа. Таким образом, для каждого натурального числа необходимо проверить некоторое конечное количество квадра­тов. Отыскав тройку квадратов, составляющих в сумме данное число, переходим к следующему натуральному числу и снова ищем среди квадратов (не превышающих по величине рассматри­ваемое число) такие три, которые дают в сумме это самое число. Вычисление завершается лишь тогда, когда мы находим нату­ральное число, которое невозможно получить путем сложения любых трех квадратов. Попробуем применить описанную проце­дуру на практике и начнем наше вычисление с нуля. Ноль ра­вен 02 + 02 + 02, что, безусловно, является суммой трех квадратов. Далее рассматриваем единицу и находим, что она не равна О2 + + О2 + О2, однако равна О2 + О2 + I2. Переходим к числу 2 и выясняем, что оно не равно ни 02 + 02 + 02, ни 02 + 02 + 12, но равно02 + 12 + 12. Затем следует число 3 и сумма 3 = 12 + 12 + 12; далее — число 4 и сумма 4 = 02 + 02 + 22; после 5 = 02 + 12 + 22 и 6 = 12+12+22 переходим к 7, и тут обнаруживается, что ни одна из троек квадратов (всех возможных троек квадратов, каждый из которых не превышает 7)

02+02+02    02+02+12    02+02+22    02+12+12    02+12+22

02+22+22    12+12+12    12+12+22    12+22+12    22+22+22

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