Натуральное число.

1) 1 - натуральное число.

2) Число, следующее за натуральным – натуральное.

Понятие факториала n!=1·2·3·…·(n-1) ·nтакже можно задать рекурсивно:

Факториал.

1) 0! = 1(так условно принято).

2) n! = n*(n-1)!

Рекурсивные процедуры и функции

Причем же здесь программирование? Оказывается, процедуры и функции в современных

языках программирования также могут вызывать сами себя.

Рекурсивныминазываются процедуры и функции, которые вызывают сами себя.

Например, функцию вычисления факториала можно записать так:

Int Factorial ( int n )

{

if ( n <= 0 ) return 1; // вернуть 1

else return n*Factorial(n-1); // рекурсивныйвызов

}

Обратите внимание, что функция Factorial вызывает сама себя, если n > 0. Для решения

этой задачи можно использовать и рекурсивную процедуру (а не функцию). Вспомним, как рекурсивная процедура может вернуть значение-результат? Через параметр, переданный по ссылке (в объявлении процедуры у его имени стоит знак ссылки &). При рекурсивных вызовах процедура меняет это значение.

void Factorial ( int n, int &fact )

{

if ( n == 0 ) fact = 1; // рекурсия закончилась

else {

Factorial(n-1, fact); // рекурсивный вызов, считаем (n-1)!

fact *= n; // n! = n*(n-1)!

}

}

В отличие от функции, процедура может (если надо) возвращать несколько значений-

результатов с помощью параметров, передаваемых по ссылке.








Дата добавления: 2015-10-05; просмотров: 661;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.