LINUX.ORG.RU

История изменений

Исправление HolyBoy, (текущая версия) :

Есть т.н. треугольные числа:

f (n) = sum j , где j=1…n.

Так что,

f(1) = 1 f(2) = 3 f(3) = 6 f(4) = 10

и т.д., т.е. n-ное число — это сумма n-первых натуральных целых чисел.

Пирамидальные числа через треугольные выражаются как

g (n) = sum f (j) , где j=1…n

Иными словами, пирамидальное число — это сумма n-первых треугольных чисел.

Функции fermaTria и fermaTriaAcc — соответственно, рекурсивный и хвосторекурсивный варианты нахождения треугольного числа. fermaPyr, fermaPyrAcc2 и fermaPyrAcc — пирамидального.

Варианты a,b,c — разные способы комбинирования рекурсивных и хвосторекурсивных функций.

Я специально в стартовом посте упомянул про вариант b, повторю здесь ещё раз:

но время исполнения… при аргументе на 2 порядка меньше, чем в других вариантах, работает в несколько раз медленнее.

Функции fermaPyr и fermaPyrAcc2 работают верно и выдают верный результат.

С функцией fermaPyrAcc и в самом деле не так что-то. Неверный результат вычислений и они идут слишком долго. Думаю.

Исходная версия HolyBoy, :

Есть т.н. треугольные числа:

f (n) = sum j , где j=1…n.

Так что,

f(1) = 1 f(2) = 3 f(3) = 6 f(4) = 10

и т.д., т.е. n-ное число — это сумма n-первых натуральных целых чисел.

Пирамидальные числа через треугольные выражаются как

g (n) = sum f (j) , где j=1…n

Иными словами, пирамидальное число — это сумма n-первых треугольных чисел.

Функции fermaTria и fermaTriaAcc — соответственно, рекурсивный и хвосторекурсивный варианты нахождения треугольного числа. fermaPyr и fermaPyrAcc — пирамидального.

Варианты a,b,c — разные способы комбинирования рекурсивных и хвосторекурсивных функций.

Я специально в стартовом посте упомянул про вариант b, повторю здесь ещё раз:

но время исполнения… при аргументе на 2 порядка меньше, чем в других вариантах, работает в несколько раз медленнее.

Функции fermaPyr и fermaPyrAcc2 работают верно и выдают верный результат.

С функцией fermaPyrAcc и в самом деле не так что-то. Неверный результат вычислений и они идут слишком долго. Думаю.