非递归:
#!/bin/bash
read num
count=1
sum=0
val=""
ret=""
while [ $count -le $num ]
do
if [ $count -eq $num ];then
val=$count
else
val=${count}'+'
fi
let sum+=count
let count++
ret=${ret}${val}
done
echo ${ret}'='$sum
递归:
#!/bin/bash
read num
function add(){
local val=$1
local count=0
local sum=0
local num=$val
if [ $val -eq 1 ];then
echo 1
return
fi
arr=$count1+$val
let val--
let count=$( add $val )
let sum=$count+$num
echo $sum
}
ret=$(add $num)
echo $ret
read name
max=0
min=0
count=0
while read line
do
if [ $count -eq 1 ];then
min=$line
fi
(( count++ ))
if [ $max -lt $line ];then
max=$line
fi
if [ $min -gt $line ];then
min=$line
fi
done <$name
echo "max: "$max "min: "$min
非递归
#!/bin/bash
read num
fib_val[0]=1
fib_val[1]=1
count=0
function fib(){
local val=$1
while [ $count -lt $val ]
do
let fib_val[${count}+2]=${fib_val[${count}+1]}+${fib_val[$count]}
let count++
done
}
fib $num
echo ${fib_val[$count]}
递归:
#!/bin/bash
read num
function fib(){
local val=$1
local num1=0
local num2=0
if [ $val -eq 0 -o $val -eq 1 ];then
echo 1
return
fi
let val--
num1=$( fib $val )
let val--
num2=$( fib $val )
let sum=$num1+$num2
echo $sum
}