My preference for run-time speed is:
long Factorial(int input) { if (input < 0) return -1; if (input < 2) return 1; long answer = input; for( ;input >1; input--) { if (long.MaxValue - answer < answer) throw new ArithmeticException(); answer = input * answer; } return answer; }
This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)
General News Suggestion Question Bug Answer Joke Praise Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.