Quick N! (Factorial) calculation using Double!
Explain a metodology for a quick computation of N! ( factorial) suggestion and optimization are wellcomed!
AI
Riepilogo AI: This codebase represents a historical implementation of the logic described in the metadata. Our preservation engine analyzes the structure to provide context for modern developers.
Codice sorgente
Dim N As Double, b As Double, c As Double, p As Double ' ' Fast Way To Calculate N! ( N Factorial) ' ' A is N ' using visual basic my original algorithm ' is adapted to the vb limits.. ' you can use long or int instead of double ' for small calculation.. ' some tips require the use of asr (aritmetic ' shift right) ' instead of division by 2! ' and code optimization instead - 1 you can.... ' a good exercize of optimization... enjoy! ' (also assembly form of this code boost the ' performances!) ' ' N.B. ' using double I extend the range of N! ' that i can represent! ' PASS TO VARIABLE N ' THE VALUE FOR WITCH ' YOU MUST CALCULATE ' FACTORIAL ( N! ) ' c = N - 1 p = 1 While c > 0 p = 0 b = c While b > 0 If b And 1 Then p = p + N End If b = int (b / 2) ' YOU MUST USE THE INTEGER PART NOT THE REST! asr more efficient fo division! N = N + N Wend N = p c = c - 1 Wend MsgBox p ' the result of N!
Commenti originali (3)
Recuperato da Wayback Machine