Proc35. Описать функцию Fact2($$N$$) вещественного типа, вычисляющую двойной факториал: $$N!! = 1*3*5*…*N$$, если $$N$$ — нечетное; $$N!! = 2*4*6*…*N$$, если $$N$$ — четное ($$N > 0$$ — параметр целого типа; вещественное возвращаемое значение используется для того, чтобы избежать целочисленного переполнения при больших значениях $$N$$). С помощью этой функции найти двойные факториалы пяти данных целых чисел.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> float fact2(int n){ int temp=1; for (;n>0;n-=2) temp*=n; return temp; } int main(void) { int i, n; for (i=1; i<=5; ++i){ printf("N:"); scanf("%i", &n); printf("fact: %f\n",fact2(n)); } return 0; } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: