answersLogoWhite

0


Best Answer

Note: The recursive portions of this code can use a lot of stack space. You may need to tell your linker to allocate more space to prevent a stack overflow exception.

To calculate the factorial of a user given number, simply multiply all of the integers between 2 and that number, inclusive, together. There are two fundamental algorithms; iterative and recursive...

Iterative uses a loop of some sort to iterate through each multiplier and multiply that to the running product.

These examples were developed and checked on the Microsoft Windows SDK 7. Portable compilers might not like the 64-bit long long data type.

/* Microsoft 32-bit iterative */

unsigned long NFactLongIterative (unsigned long N) {

unsigned long result = N;

if (N < 2) return 1;

if (N 2) {

decimal_initialize (d, 2);

return;

}

while (N > 2) {

decimal_multiply (d, N);

N--;

}

return;

}

Main line code, showing full functionality

#include

... all of the above routines are inserted here

/* Example main line */

/* Generates all variations to show differences in results */

int main (int argc, char *argv[]) {

int N;

decimal Decimal = {2, NULL};

if (argc < 2) {

fprintf (stderr, "Usage: factorial N\n");

return 1;

}

N = atoi (argv[1]);

printf ("Long: %u! = %u\n", N, NFactLongIterative (N));

printf ("LongLong: %u! = %I64u\n", N, NFactLongLongIterative (N));

printf ("Recursive: %u! = %I64u\n", N, NFactLongLongRecursive (N));

printf ("Double: %u! = %.0f\n", N, NFactDouble (N));

/* note: arbitrary is exact - if the others don't match, arithmetic overflow occurred */

printf ("Arbitrary: %u! = ", N);

decimal_NFactIterative (&Decimal, N);

decimal_print_digits (&Decimal, TRUE);

return 0;

}

User Avatar

Wiki User

13y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is algorithm to calculate the factorial of an user given number?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

Write an algorithm to print the factorial of given number and then draw the flowchart?

write an algorithm to print the factorial of a given number and then draw the flowchart. This looks like someones homework, defiantly someone looking for the easy way. When it comes to programming, the more you do the better you get. Experience counts (making your own mistakes and learning from the mistake).


Programming to calculate a factorial number?

double factorial(double N){double total = 1;while (N > 1){total *= N;N--;}return total; // We are returning the value in variable title total//return factorial;}int main(){double myNumber = 0;cout > myNumber;cout


How do you find factorial of given number?

Factorials are the product of 1 and all the integers up to the given number. Simply put, 5 factorial or 5! = 5*4*3*2*1


Find flow chart for factorial of given number?

i need a pic of cuson


Program for finding the factorial of the two given number using constructor?

kjhk


How many keywords are there in c?

answer:32 programme to print factorial of a given number in c languages


What is a Flow chart for finding factorial of a given number using recursion function?

no answer....pls post


How many diagonals do hexagons have?

The number of diagonals in an n-sided polygon is given by nC2 - n (where n is the number of sides of the polygon) or in the expanded form: factorial (n) _______________________ {factorial (2) * factorial (n-2)} substituting (n = 6) for a hexagon we get the number of diagonals as 9. Similarly, substituting (n=5) for a pentagon we get the number of diagonals as 5.


How do find factorial using vbscript?

&lt;html&gt; &lt;script language="vbscript"&gt; n=cint(inputbox("Enter a number")) dim f f=1 if n&lt;0 then Msgbox "Invalid number" elseif n=0 or n=1 then MsgBox "The factorial of given number "&amp;n&amp;" is :"&amp;f else for i=n to 2 step -1 f=f*i next MsgBox "The factorial of given number "&amp;n&amp;" is :"&amp;f end if &lt;/script&gt; &lt;/html&gt;


Flowchart to find factorial of a given no?

Kat


Program for calculating factorial no using recursion in c?

factorial n is given by formula n! = n.(n-1)....1 int i; long x; x =1; for (i=n;i&gt;1;i--) x = x*i ; will calculate factorial. I have put x as long to avoid integer overflow. checks for n is positive etc. to be added.


What is complsexity of an algorithm?

Complexity of an algorithm is a measure of how long an algorithm would take to complete given