For21. Дано целое число $$N$$ ($$> 0$$). Используя один цикл, найти сумму $$1 + 1/(1!) + 1/(2!) + 1/(3!) +…+ 1/(N!)$$ (выражение $$N!$$ — $$N$$-факториал — обозначает произведение всех целых чисел от 1 до N: $$N! = 1*2*…*N$$). Полученное число является приближенным значением константы $$e = exp(1)$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#include <stdio.h> int main(void) { int n; printf("N:"); scanf ("%i", &n); float n1=1,rez=1; int i; for (i =1; i<=n; ++i){ n1 *=(float)i; rez += 1/n1; } printf("%f \n ",rez); return 0; } |
Другие задачи из раздела For можно посмотреть здесь.
#include
#include
using namespace std;
void main() {
double sum = 0,p=1,s;
int N;
cout <> N;
for (int i = 0; i <= N; i++) {
p *= (i + 1);
s = p / (i + 1);
sum += 1 / s;
}
cout << sum << endl;
system("pause");
}