Sponsored Content
Top Forums Shell Programming and Scripting BASH: Factorial using FOR loop not working Post 302437509 by Technext on Thursday 15th of July 2010 12:03:05 PM
Old 07-15-2010
BASH: Factorial using FOR loop not working

Hi,


I am trying to run the factorial script but it’s not working.

The code is mentioned below:
------------------------------------------------------------------
Code:
/home/gc> cat fact.sh
#!/bin/bash
# using one command line parameter
 
factorial=1
for (( number = 1; number <= $1 ; number++ ))
do
factorial=$[ $factorial * $number ]
done
echo The factorial of $1 is $factorial

------------------------------------------------------------------
Execution:
Code:
/home/gc> bash -x fact.sh 5
+ factorial=1
fact.sh: syntax error near unexpected token `(('
fact.sh: fact.sh: line 5: `for (( number = 1; number <= $1 ; number++ ))'

------------------------------------------------------------------

Can anyone please help?


Regards,
GC

Moderator's Comments:
Mod Comment Please use code tags for listings and program output.


---------- Post updated at 09:33 PM ---------- Previous update was at 06:32 PM ----------

Ok, I've got the reason; it's the bash shell version. I was running the script in an old bash version. I found a link where this was stated. It was mentioned that 'seq' command can be used instead but even that is not recognized on my bash.

I am using GNU bash, version 1.14.5(1)

Can anyone suggest some alternative?



Regards,
GC

Last edited by pludi; 07-15-2010 at 10:17 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

If then else loop not working

If then else segment of below code is not working. For each filename code is displaying output for if part as well as else part. Please help its urgent. for usercusttop in `echo ${filename}|sort|uniq|cut -c 1-${actualwordcount}` do ... (2 Replies)
Discussion started by: findprakash
2 Replies

2. UNIX for Advanced & Expert Users

If loop is not working

The following piece of code is not running because it is fails to go inside the if condition. i want to create a directory if there is no directory in the input path. i am using Linux, by CENT. Please help. echo " Enter the path where you u want to extract the tar" read EXTRACT_PATH ls -ld... (12 Replies)
Discussion started by: toanilsharma1
12 Replies

3. Shell Programming and Scripting

bash and ksh: variable lost in loop in bash?

Hi, I use AIX (ksh) and Linux (bash) servers. I'm trying to do scripts to will run in both ksh and bash, and most of the time it works. But this time I don't get it in bash (I'm more familar in ksh). The goal of my script if to read a "config file" (like "ini" file), and make various report.... (2 Replies)
Discussion started by: estienne
2 Replies

4. Shell Programming and Scripting

if loop not working in BASH shell

i have this code for a simple if loop: #!/bin/bash array="1 2 3 4 5" array2="5 6 7 8 9" if } -gt ${array} ]; then echo "${array2} is greater than ${array}!!" fi the error is ./script8: line 9: [: too many arguments ./script8: line 9: [: too many arguments ./script8: line 9: [:... (10 Replies)
Discussion started by: npatwardhan
10 Replies

5. UNIX for Dummies Questions & Answers

Anyone know?: How the 'for'-loop could stop working in interactive bash shell?!

It is happening with my sessions already second time: a 'for'-loop for some reason stop to work as expected. That means or it is looping without exitting, or it is not loop even once. Here example of my try when it is not processing even one loop. You can see, I start new subshell and... (14 Replies)
Discussion started by: alex_5161
14 Replies

6. Shell Programming and Scripting

Using variables created sequentially in a loop while still inside of the loop [bash]

I'm trying to understand if it's possible to create a set of variables that are numbered based on another variable (using eval) in a loop, and then call on it before the loop ends. As an example I've written a script called question (The fist command is to show what is the contents of the... (2 Replies)
Discussion started by: DeCoTwc
2 Replies

7. Shell Programming and Scripting

BASH loop inside a loop question

Hi all Sorry for the basic question, but i am writing a shell script to get around a slightly flaky binary that ships with one of our servers. This particular utility randomly generates the correct information and could work first time or may work on the 12th or 100th attempt etc !.... (4 Replies)
Discussion started by: rethink
4 Replies

8. Shell Programming and Scripting

Factorial of any number using functions

how to write the code for factorial of any number using functions and arguments????? (7 Replies)
Discussion started by: kullu
7 Replies

9. Shell Programming and Scripting

README: Factorial quick chart with sed & bc:

Hi all, While doing some checks I found a kind of interesting arithmetic factorial chart with sed, sharing this may be simple but thought to share, # n=20;for i in `seq $n`;do printf "`seq $i|xargs|sed 's/ /*/g'`= ";echo "`seq $i|xargs|sed 's/ /*/g'`"| bc;done 1= 1 1*2= 2 1*2*3= 6... (6 Replies)
Discussion started by: rveri
6 Replies

10. Shell Programming and Scripting

For-loop not working

Hello all, I would like to unzip some files with a for-loop. Is there anyone who could tell me how I should do this - in a correct way? for file in $(ls); do echo gzip -d < $file | tar xf -; done The problem is the pipe - I believe. But how could I do it? I need it for the command... (4 Replies)
Discussion started by: API
4 Replies
math::combinatorics(n)						 Tcl Math Library					    math::combinatorics(n)

__________________________________________________________________________________________________________________________________________________

NAME
math::combinatorics - Combinatorial functions in the Tcl Math Library SYNOPSIS
package require Tcl 8.2 package require math ?1.2.3? ::math::ln_Gamma z ::math::factorial x ::math::choose n k ::math::Beta z w _________________________________________________________________ DESCRIPTION
The math package contains implementations of several functions useful in combinatorial problems. COMMANDS
::math::ln_Gamma z Returns the natural logarithm of the Gamma function for the argument z. The Gamma function is defined as the improper integral from zero to positive infinity of t**(x-1)*exp(-t) dt The approximation used in the Tcl Math Library is from Lanczos, ISIAM J. Numerical Analysis, series B, volume 1, p. 86. For "x > 1", the absolute error of the result is claimed to be smaller than 5.5*10**-10 -- that is, the resulting value of Gamma when exp( ln_Gamma( x) ) is computed is expected to be precise to better than nine significant figures. ::math::factorial x Returns the factorial of the argument x. For integer x, 0 <= x <= 12, an exact integer result is returned. For integer x, 13 <= x <= 21, an exact floating-point result is returned on machines with IEEE floating point. For integer x, 22 <= x <= 170, the result is exact to 1 ULP. For real x, x >= 0, the result is approximated by computing Gamma(x+1) using the ::math::ln_Gamma function, and the result is expected to be precise to better than nine significant figures. It is an error to present x <= -1 or x > 170, or a value of x that is not numeric. ::math::choose n k Returns the binomial coefficient C(n, k) C(n,k) = n! / k! (n-k)! If both parameters are integers and the result fits in 32 bits, the result is rounded to an integer. Integer results are exact up to at least n = 34. Floating point results are precise to better than nine significant figures. ::math::Beta z w Returns the Beta function of the parameters z and w. Beta(z,w) = Beta(w,z) = Gamma(z) * Gamma(w) / Gamma(z+w) Results are returned as a floating point number precise to better than nine significant digits provided that w and z are both at least 1. BUGS, IDEAS, FEEDBACK This document, and the package it describes, will undoubtedly contain bugs and other problems. Please report such in the category math of the Tcllib SF Trackers [http://sourceforge.net/tracker/?group_id=12883]. Please also report any ideas for enhancements you may have for either package and/or documentation. CATEGORY
Mathematics math 1.2.3 math::combinatorics(n)
All times are GMT -4. The time now is 08:21 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy