#include #include #include int main(int argc, char *argv[]) { long double dfac; long long ifac, i, n; if (argc != 2) { fprintf(stderr, "usage: fact n\n"); exit(1); } n = atoi(argv[1]); if (n < 0) { fprintf(stderr, "n must be nonnegative\n"); exit(1); } ifac = 1; dfac = 1.0; for (i = 1; i <= n; i++) { ifac = i * ifac; dfac = i * dfac; } printf("ifac = %lld, dfac = %Lf\n", ifac, dfac); return 0; }