Консультация № 144931
24.09.2008, 21:11
0.00 руб.
25.09.2008, 14:06
0 3 3
Здравствуйте эксперты. Помогите написать программу для подсчета факториала введённого значения на основе итеративной функции. Заранее спасибо.

Обсуждение

Неизвестный
24.09.2008, 21:17
общий
это ответ
Здравствуйте, Валуев Александр Михайлович!

Вот, помогаю:

Приложение:
unsigned long fact(unsigned int n)
{
unsigned long f = n;
while(--n)
f *= n;
return f;
}
Неизвестный
24.09.2008, 21:33
общий
это ответ
Здравствуйте, Валуев Александр Михайлович!

Код С++ программы с комментариями в приложении.

Удачи Вам!


Приложение:

//Подключаем заголовок потокового ввода/вывода
#include <iostream>

using namespace std;

//Объявляем прототип функции "fact"
long int fact(int n);

int main ()
{
//Объявляем переменную целого типа
int n = 0;

//Приглашение ввести значение
cout << " Vvedyte znachenye: ";

//Ввод значения
cin >> n;

//Вывод результата с вызовом функции "fact" с переменной n в качестве аргумента
cout << endl << " Factoryal chysla " << n << " = " << fact(n) << endl << endl;

return 0;
}

//Описание работы функции "fact"
long int fact(int n)
{
int fact = 1;

//Циклический подсчёт факториала
for(int i = 1; i <= n; i++)
{
fact *= i;
}

//Возвращаем значение переменной "fact" в точку вызова
return fact;
}



Неизвестный
25.09.2008, 13:11
общий
25.09.2008, 14:05
это ответ
Здравствуйте, Валуев Александр Михайлович!
Подсчет факториала введённого значения на основе рекурсивной функции.
До этого я тебе Вам отослал итеративный вариант


Приложение:
#include <iostream.h>

int fact( int k )
{
if ( k == 0 )
{
return 1;
}

return k * fact( k - 1 );
}

int main()
{
cout << fact( 2 );

cin.get();

return 0;
}
Форма ответа