All I want to do is Multiply...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting All I want to do is Multiply...
# 8  
Old 03-01-2010
Franklin52 solution adapted for your latest requirement.
Code:
#!/bin/bash
f=1
echo -n "Enter number : "
read num
var=1
while (( $var <= $num ))
do
  f=$(( $f * $var ))
  let var++
done

echo $f

# 9  
Old 03-01-2010
'All I want to do is Multiply...

Thank you, Danmero. That's what I wanted.

Question concerning
Code:
 
let var++

I understand that "let" stores values in "var", and I theoritically understand that "++" increments the var values, but I don't really understand "++", or for that matter "--".
I know they are C operators, but I can't find any good explanations.
Is "++" saying "when you see me increase me by 1"??
Thanks,
Ccccc
# 10  
Old 03-01-2010
increment(++) or decrement(--) value of var by 1(only).
If you want to increment/decrement the value of var by a different value you can use something like
Code:
i=0
while [ $i -lt 100 ]
do 
    let i+=10
    echo $i
done

# 11  
Old 03-01-2010
You can also use recursion to find the factorial of a number. In the following example the function factorial() calls itself repeatedly until it's argument is 1.
Code:
#!/bin/bash

factorial()
{
  if (( $1 > 1 )); then
    i=$(( $1 - 1 ))
    j=$(factorial $i)
    echo $(( $1 * $j ))
  else
    echo 1
  fi
}

while :
do
  read -p "Enter a number: " x
  factorial $x
done

# 12  
Old 03-02-2010
Try the following script
It will prompt the user to enter a number and perform the stuff
Code:
use strict;
use warnings;

print "Enter a number: ";
my $n = <>;#getting from stdin
my $i = 1;
my $res = 1;
$res *= $i++ while ($i <= $n) ;
print "Value: $res\n";

Sample output
Code:
Enter a number: 7
Value : 5040

# 13  
Old 03-02-2010
You can find the factorial of any number by following way.

Code:
f=1
echo "Enter a number"
read no
if [[ $no -le 1 ]];then
echo "Factorial of $no is:1"
else
#for fact in `seq $no`
for((fact=1;fact<=$no;fact++))
do
      let f*=fact
done
echo "Factorial of $no is:$f"
fi

# 14  
Old 03-09-2010
Code:
echo "Enter a number";
read num;
i=1

for fact in `seq 1 $num`
do
                  i=$(( $i * $fact ))
          done

            echo $i

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Multiply values from a file

Hi All, I extracted a file using an awk command like this awk '{print substr($0,78,5)"," substr($0,59,6) "," substr($0,81,3) "," substr($0,11,7)}' file1 >> OUTPUT cat OUTPUT 00001,100000,005,0000080 00001,100000,008,0000220 00001,100000,001,0001000 00010,100000,001,0000400 I want... (3 Replies)
Discussion started by: arunkumar_mca
3 Replies

2. UNIX for Dummies Questions & Answers

Multiply value by row

Hi I would like to know how can I multiply the value of column three to columns 4-end of file example of input file: rs1000012 AK8 2 0.05 0.05 1 0 0 rs10000154 PAQR3 0.01 2 1 2 2 1 Desired output file: rs1000012 AK8 ... (1 Reply)
Discussion started by: fadista
1 Replies

3. Shell Programming and Scripting

Multiply tags in xml

Please advice best way to do this. prefered awk or sed input file : <?xml version='1.0' encoding='ISO-8859-1'?> <myxml> <UID></UID> <Dealer>0002</Dealer> <Range> <FromMonths>24</FromMonths> <ToMonths>35</ToMonths> </Range> </myxml> desired output : ]<?xml version='1.0'... (3 Replies)
Discussion started by: theshashi
3 Replies

4. Shell Programming and Scripting

multiply with awk

HI help i have cc 9+37.50 328611.50 688498.25 42.38 cc 66+62.50 328636.50 688498.42 42.58 i want to make o/p cc 9+3750 328611.50 688498.25 42.38 cc 66+6250 328636.50 688498.42 42.58 plz help (2 Replies)
Discussion started by: Indra2011
2 Replies

5. UNIX for Dummies Questions & Answers

Multiply two variables in t shell

Hello, How can I multiply two variables that contain floating point numbers. For example, how can I get the value for c a=2.165 b=3.234 c=a+3*b Thanks, Guss (1 Reply)
Discussion started by: Gussifinknottle
1 Replies

6. UNIX for Dummies Questions & Answers

Finding multiply directories

I have multiply directories scattered throughout my system that end in 2011. Example: one_2011 two_2011 three_2011 etc.... I'm trying to find all of these directories but coming up short. I tried find / -type d -name *2011 > example Any suggestions? I already searched in the... (13 Replies)
Discussion started by: shorty
13 Replies

7. Shell Programming and Scripting

Multiply numbers from different files

Hi All, I have tried few things with this but it did not help much. I have some 200,000 files in a directory. There are two sets of files. 1. Files with extension .dat with file names like these (1.dat, 2.dat, 5.dat, 8.dat....200000.dat) 2. Another set of files with .txt extension and... (5 Replies)
Discussion started by: shoaibjameel123
5 Replies

8. Shell Programming and Scripting

Multiply whole column with a value

Hi, I need to multiply 3rd column (comma seperated) of entire file by a value say 2.2. Suppose the file is: C,Gas $ YTD(TRI),15512.36,01/01/2010 New file should be (3rd column value multiplied by 2.2): C,Gas $ YTD(TRI),34127.192,01/01/2010 (5 Replies)
Discussion started by: yale_work
5 Replies

9. Shell Programming and Scripting

Multiply variables

I have no idea about programming, just know some simple html :confused:and I need to get to somebody that can help me with creating the application (?) that will multiply 2 varibales and given price (height x lenght) x $$$. PLEASE HELP!:confused: edit by bakunin: Anita, as much as we... (2 Replies)
Discussion started by: Anita Flejter
2 Replies

10. Shell Programming and Scripting

multiply variable

I need to multiply the value of a variable and then store it in another variable. I have EXPHOURINSEC=$(($EXPDATEHOUR * 3600)) but i get an error saying the * is unexpected. Im using ksh (4 Replies)
Discussion started by: fwabbly
4 Replies
Login or Register to Ask a Question