Menu
  • HOME
  • TAGS

Inaccurate result when mul'ing

assembly,x86,factorial,multiplying

479001600*13=6227020800, or, 0x17328CC00 in hex. This is too big for 32bits. 1*0x100000000=0x100000000 0x17328CC00-0x100000000=0x7328CC00, or 1932053504 in decimal. So, no news here. Put another way, your results are 1 in EDX and 1932053504 in EAX. EDX contains the higher-order 32 bits of the result, so multiply by 2^32, ie. 0x100000000: 1...

Print out all permutations of an Array [duplicate]

java,arrays,algorithm,permutation,factorial

Creating (or printing) the permutations of an array is much easier done as a combination of recursively and iteratively than purely iteratively. There are surely iterative ways to do it, but it is particularly simple with a combination. Specifically, note that there are by definition N! permutations of a length...

factorial by given number in prolog

prolog,factorial

You do it the usual Prolog way - by defining a recursive rule that covers two clauses: When the number is 0, its factorial is 1 - This can be done with a simple fact. When the number is greater than zero, compute Number-1, obtain its factorial, and multiplying the...

Is it possible to make a O((n!)!) complexity algorithm?

algorithm,complexity-theory,factorial

Here's your algorithm! import math def eat_cpu(n): count = 0 for _ in xrange(math.factorial(math.factorial(n))): count += 1 return count eat_cpu(4) It is a function that calculates (n!)! using the method of incrementation. It takes O((n!)!) time. Actually, upon reflection, I realized that this algorithm is also O((n!)!): def dont_eat_cpu(n): return...

Why doesn't this give me the factorial?

javascript,for-loop,factorial

Using: for(var i = num - 1; i > 0; i--) { return num * i; } It will return num*(num-1) value. Since it will return the value in the first iteration. Instead use: Using recursion: function FirstFactorial(num) { if(num==1) return num; else return num*(FirstFactorial(num-1)) } or: fact=num; for(var i...

Math crossing out

javascript,math,factorial,largenumber

If you do not require cancellation beyond exact numbers, this should do: var x = [3, 4, 6, 4]; var y = [4, 7, 3, 2]; for(var i in x) { for(var j in y) { if(x[i]==y[j]) { x.splice(i,1); y.splice(j,1); } } } console.log(x); console.log(y); But in case you are...

C++ factorial program give infinity for any number greater than 2

c++,factorial,infinity

Change for ( i = 1; i < userNumber; i++ ) { to for ( i = userNumber - 1; i > 1; --i ) { Note that your code changes userNumber in the loop body, so that the loop will only terminate if userNumber overflows....

Factorial of a matrix elementwise with Numpy

python,numpy,matrix,factorial

There's a factorial function in scipy.misc which allows element-wise computations on arrays: >>> from scipy.misc import factorial >>> factorial(mat) array([[ 1., 2., 6.], [ 2., 6., 24.]]) The function returns an array of float values and so can compute "larger" factorials up to the accuracy floating point numbers allow: >>>...

Homemade factorial function in Python

python,factorial

It returns 0 because count will be finally 0 in your last loop. Loop will execute for count = 1 and you will multiply hold by 0 since you subtract 1 from count before multiplying. You have to subtract 1 after multiplication: def factorial(x): hold = 1 count = x...

Computation of factorial in SciLab

factorial,scilab

You forgot the return value n = in the very first line just after function, it will never return anything otherwise function n = fac(n) if (n<=0) then n = 1 else n = n* fac(n-1) end endfunction ...

How can I work out how long a factorial will take in Python?

python,python-3.x,factorial

(This answer is a spin-off of the discussion of modular factorials in the comments.) Computing modular factorials by taking mods at each step is definitely the way to go and can be used in conjunction with Wilsons's Theorem to give an (impractical) way to test for primes: def modFact(k,n): #computes...

Order of multiplications in recursive factorial: n*fact() vs. fact()*n

recursion,factorial

Is there a difference in the order that the multiplications are done in a recursive factorial function depending on whether the last return is in the form fact(n-1) * n compared to the form n * fact(n-1) ? No there will be no difference The Commutative Laws say we...

Calculate this factorial term in C++ with basic datatypes

c++,algorithm,factorial

If the result is guaranteed to be an integer, work with the factored representation. By the theorem of Legendre, you can express all these factorials by the sequence of exponents of the primes in the range (2,n). By deducting the exponents of the factorials in the denominator from those in...

How does the algorithm of this code work?

algorithm,assembly,8086,factorial

Which part is unclear? First it reads an integer using geti which utilizes the well known x = 10*x + c - '0' formula to convert string to number. Then it initializes the bignum accumulator to 1 and multiplies it by the input number using bignum_mul in a loop, counting...

Understanding factorial recursion

python,recursion,factorial

Yes it is. But since it's recursion, it works the opposite way. I once had an interviewer explain it to me like this : Say, for fact(5) : - fact(5) = 5 * fact(4) - fact(4) = 4 * fact(3) - fact(3) = 3 * fact(2) - fact(2) = 2...

Factorial function through recursion using R with Rcpp

r,recursion,rcpp,factorial

You are essentially doing this wrong. See the R help page for factorial: ‘factorial(x)’ (x! for non-negative integer ‘x’) is defined to be ‘gamma(x+1)’ and ‘lfactorial’ to be ‘lgamma(x+1)’. You are not supposed to compute it this way. Why? Well look at this: R> evalCpp("INT_MAX") [1] 2147483647 R> You will...

How can i stop my python program from crashing

python,loops,factorial,floating

def main(): # take input from the user num = float(input("Enter a number: ")) if (num%1 != 0): print("Bad entry, only integers are accepted.") return num = int(num) factorial = 1 if num > 100: print("Bad entry. It should be an integer less than or equal to 100!") print("Please try...

Error with post hoc tests in ANCOVA with factorial design

r,factorial,posthoc

You need to use the which argument in TukeyHSD; "listing terms in the fitted model for which the intervals should be calculated". This is needed because you have a non-factor variable in the model ('baseline'). The variable causes trouble when included, which is default when which is not specified. ANC...

How to calculate factorial in ruby [duplicate]

ruby,factorial

you can try like: input = Integer(gets.chomp) ans = 1 for i in 1..input ans = ans*i end print(ans) ...

How to stack fruit in a neat pile

java,math,factorial

The number of fruit in a pyramid of height n is given by the nth triangular number, given by the equation Tn = n(n + 1) / 2 For example, a pyramid of height 2 holds 2(2 + 1) / 2 = 3 fruit. A pyramid of height 4 holds...

Fact=fact*c ?? How does that work? (Factorial Java)

java,string,loops,if-statement,factorial

The expression fact = fact * c; multiplies fact by c and stores the result in fact. Thus the following happens when the code is run: At the start , fact is 1. On the first iteration it gets multiplied by 1 the result of which is 1. On the...

Haskell print factorial

haskell,math,factorial

You need parentheses: main = do print (fact 4) What GHC is seeing is fact and 4 being passed as separate arguments to print, but what you want is to apply 4 to fact, then apply that result to print. You could also use main = do print $ fact...

Program Factorial in Java with a lookup table

java,table,caching,hashmap,factorial

OK, I'll give it a shot. Let me first give you the full code answer, and get into each change in details: public static void main(String[] args) { int input = 0; try (Scanner reader = new Scanner(System.in)) { Map<Integer, Integer> cache = new HashMap<Integer, Integer>(); cache.put(1, 1); while (true)...

Factorial for large numbers

assembly,x86,factorial,largenumber

128 bits is too big for mul instruction, which saves only 64-bits result (EDX (32bits) + EAX (32bits)). So first of all you need 4 DWORDS of memory to store 128bits result. Then you should replace your mul ebx; on some procedure call, that can handle 128bits multiplication. The code...

how to solve this factorial

python,factorial

Just change the last part of your program to: result = 1 for f in factors: result *= f print result ...

Unable to return correct value of a variable in a recursive function

c,function,recursion,return,factorial

Sure. you forgot to return a value at the very the end of recursion(). Without that return statement, the use of recursion() as an argument ot printf() invokes undefined behaviour. To elaborate, only for the case when x == 0 is TRUE, you're using a return statement to return a...

BigInteger addition always 0

java,add,biginteger,factorial

This is because BigInteger is immutable which means that its value does not change. So first.add(x) will create a new BigInteger containing the computations result, i.e. just reassign the result to first, like first = first.add(...).

Permutation related algorithm

java,algorithm,for-loop,permutation,factorial

please see, int n=3, fact = 1; for (; n > 0; n--) { fact = fact * n; } System.out.println("The result is " + fact); ...

Factorial code concept in assembly x86

assembly,x86,factorial

Before the call factorial the argument (5) is pushed onto the stack. At that moment in time, the stack pointer esp points to the argument value 5 (the address in esp is the address of the argument) When the call factorial occurs, the program counter (PC) is saved by...

How to find value of this series using python?

python,series,factorial

This is the Taylor's series development of exp(-x). Recognizing this gives you a good opportunity to check your result against math.exp(-x). Simple syntax improvements You don't need an 'else' after the while. Just add the code to be run after the loop at the same indentation level as before the...

Series generation

java,series,factorial

i and fact(i+1) are both ints, so you're performing integer division. Since i < fact(i+1), each such term will produce a zero. You had the right idea with defining sign as a double, but since / and * have the same precedence, you're first performing an integer division and only...

How to calculate factorial using prolog

prolog,factorial

Once we "reach" the fact(1,1), it will "return" to the calling recursive iteration and proceed to the part R is R1*X of that iteration, with R1=1. Then will return again to a previous level and so on. Let's look at a non-trivial iteration: fact(3,R) : X <- 3, X1 <-...

Use pointer array to store all intermediate results of factorial calculation

c++,pointers,factorial

Call it with int *p = new int[10]; Your original code int *p = new int(10); means allocating space for one single int and initialize it as 10, not a 10-element array....

implementing Poisson distribution in c++

c++,distribution,factorial,poisson

One workaround to deal with large n's is calculating the distribution in the log domain: X = ((e^-lambda)*(lambda^n))/n! ln X = -lambda + n*ln(lambda) - Sum (ln(n)) return e^X ...

Bug in the code to calculate factorials upto 100?

c,debugging,factorial,largenumber

Leaving aside style questions and the fact that storing a big integer in decimal digits is rather wasteful, the problem is that you never reset j. Because of this, the loop while(index<no) { x=a[index]*i+carry; a[index]=x%10; j++; if(x!=0) carry=x/10; index++; } means that j will at least double in every multiplication,...

Sum of factorials of 1 to n using only one recursive function

java,c++,c,recursion,factorial

This is the simplest I could get it: int sum_fac(int target, int counter) { return (target == counter) ? target : counter * (1 + sum_fac(target, counter + 1)); } Which when called like this: int main() { for (int i = 1; i < 10; i++) { printf("%d: %d\n",...

Factorials in Swift

swift,factorial

As others have said you can use libraries that support larger numbers, or just don't allow values that are too big. Note that if you want to handle very large values you might need to use a loop rather than a recursive algorithm because recursion can cause a Stack Overflow....

Analyse Code - factorial function

c,factorial

The expression return input *factorial(input--); does a post increment of input. The value passed to factorial is still input. Not only that, you are also in undefined behavior territory since, input is also used in the expression. Given input = 3, input *factorial(input--); would easily be: 2 *factorial(3); or 3...

Array Factorial. Getting NaN Output. Javascript

javascript,arrays,nested-loops,nan,factorial

Wrong (or at least: odd) things in your code: f is a number. You seem to expect your function to return an array, though? i <= params.length should be i < params.length. Array indices start at 0, and end at length-1. You are multiplying your accumulator variable with params[j] -...

Number of Trailing Zeros in a Factorial in c

c,factorial

{ long int n=0,facto=1,ln=0; int zcount=0,i=1; printf("Enter a number:"); scanf("%ld",&n); if(n==0) { facto=1; } else { for(i=1;i<=n;i++) { facto=facto*i; } } printf("%ld\n",facto); while(facto>0) { ln=(facto%10); facto/=10; //here you done one mistake if(ln!=0) //another one here { break; } else { zcount+=1; } } printf("Tere are Total %d Trailing zeros in...

Python program for factorial coming up with an error

python,functional-programming,factorial

In addition to indentation mistakes, you need to move this line out of the function, x = raw_input(":"), or you have to input a number at every level of recursion....

Printing a unique order of 4 items from a unique input between 0-23 [duplicate]

algorithm,order,factorial

The Lehmer code can be used for this. This looks like a pretty decent guide on how to do that: http://www.2ality.com/2013/03/permutations.html

Nasm - Imul doesn't work

nasm,multiplication,factorial

The Intel manual lists the following variants of IMUL: F6 /5 IMUL r/m8* M Valid Valid AX? AL * r/m byte. F7 /5 IMUL r/m16 M Valid Valid DX:AX ? AX * r/m word. F7 /5 IMUL r/m32 M Valid Valid EDX:EAX ? EAX * r/m32. REX.W + F7 /5...

Factorial Command in Python [duplicate]

python,python-3.x,factorial

You have to import the math module first: import math math.factorial(x) ...

Function returns undefined despite the variable having a value

javascript,function,factorial

It needs no global variable and no local variable, too. function factorialize(num) { if (num === 1) { return 1; } return num * factorialize(num - 1); } out(factorialize(5)); // or a very short version: function f(n) { return +!~-n || n * f(n - 1); } out(f(10)); function out(s,...

Python program summation of a series

python,series,factorial,exponential

Move your sumt variables into your while loop, and then break out of the loop when sumt5 <= 0.00: import decimal def fact(n): if n == 0: return 1 else: return n*(fact(n-1)) x = 1 # Hardcoded for this example, instead of prompting. A = 0 summation = 1.0 while...

Comparison operator in for loop (C language)

c,factorial,comparison-operators

The condition in the for loop is a while condition: int i = 1; while(i == n) { //loopbody fact=fact*i; i++; } So it will only do anything when n==1, plus the loop can only run 0 or 1 times....

Recursion Tutorial

java,recursion,factorial

If you invoke fact(5), here is how it will work: fact(5) 5*fact(4) 4*fact(3) 3*fact(2) 2*fact(1) 2*1=2 //(since if n==1, 1 is returned directly result=2 result=3*2 result=4*3*2 result=5*4*3*2 result=120 Recursion simply means you invoke a method within itself, usually after manipulating the argument to suit your end result (n - 1...

Arguments.callee - Factorial Pattern

javascript,recursion,arguments,factorial

No, because is a recursive function so, when last function end ("all") then all previous console.log will print in reverse order (really is not reverse order, it's the correct order because is a recursive function), for example, we have the 5 steps that you say: (n=4, n=3 ... n=0): f4...

Why it doesn't work ( C Lang in Dev C++ ) [closed]

c,crash,console,factorial

scanf("%d",l); you need to insert the address of l, which is &l. You should also use %u for unsigned ints, not %d....

Recursively print Factorial values in decreasing order?

c++,recursion,factorial

Just change where you are printing the value else { n = n * factorial(n - 1); // Recursive case cout << " going up" << n << " "; return n; } to else { cout << " going down" << n << " "; n = n *...

Mozart Function parse error

factorial,oz,mozart

Your code is an Oz script. It can be used in the interactive Mozart IDE (Emacs). The online compiler expects an Oz program, i.e. a functor definition. Try this code: functor import Application System define fun {Fact N} fun{Aux N Nmax FactNminus1} if N > Nmax then nil else (FactNminus1*N)|{Aux...

Recursive print Factorial

java,recursion,factorial

return factValue * printFactorial(factValue - factCounter); I assume that you should be using the "next" values instead of these. Edit: Also note that the function takes two parameters and is void. Returning factValue times void doesn't make sense....