По данному натуральном n вычислите сумму 1!+2!+3!+...+n!. В решении этой задачи можно использовать только один цикл.
C++
Ответы на вопрос
Ответил MrSolution
0
Ответ:
(см. объяснение)
Объяснение:
При решении данной задачи разумно воспользоваться формулой Джеймса Стирлинга для вычисления приближенного значения факториала, которая имеет вид:
Она позволит избежать использования цикла и уменьшит время работы программы.
Реализуем этот алгоритм на языке программирования и сравним, насколько сильно отличаются значения:
using namespace std;
int main()
{
int n;
cout << "n=";
cin >> n;
cout << "n!~" << round(pow(n,n)/exp(n)*sqrt(2*acos(-1.0)*n));
int k=1;
for(int i=2; i<=n; ++i)
{
k*=i;
}
cout << endl << "n!=" << k << endl;
cin >> n;
return 0;
}
(Демонстрацию работы программы смотреть в прикрепленном файле)
Приложения:

Новые вопросы
Русский язык,
2 года назад
Математика,
2 года назад
Русский язык,
2 года назад
Математика,
8 лет назад
Химия,
8 лет назад