function ans = fact(N) % wrapper function if (N < 0) || ((N - floor(N)) ~= 0) error('illegal fact parameter'); else ans = rfact(N); end % fprintf('%d factorial is %d\n', N, ans); function ans = rfact(N) %%% if N == 0 ans = 1; else ans = N * rfact(N - 1); end