本帖最后由 maria 于 2016-2-29 10:29 编辑
有一列数字如下:
第1次:1
第2次:2
第3次:3
第4次:5
第5次:8
第6次:13
第7次:21
第8次:34
第9次:55
第10次:89
第11次:144
写出100次的数是什么。
{{{密码回复可见}}}
有一列数字如下:
第1次:1
第2次:2
第3次:3
第4次:5
第5次:8
第6次:13
第7次:21
第8次:34
第9次:55
第10次:89
第11次:144
写出100次的数是什么。
{{{密码回复可见}}}
0
本帖最后由 wsw13640218682 于 2016-2-28 16:42 编辑
- #!/bin/bash
- a[1]=1
- a[2]=2
- b=3
- for((a=1;a<=100;a++))
- do
- ((a[$b]=${a[$b-2]}+${a[$b-1]}))
- ((b++))
- done
- echo ${a[100]}
0
[root@156 sbin]# cat shuxue.sh
#!/bin/bash
#writen by caibingsen
#time:2016-02-29 06:12:39
i=1
sum=0
n1=1
n2=2
while :
do
if [ $i -eq 99 ]
then
echo $sum
sleep 2
exit
else
sum=$[$n1+$n2]
n1=$n2
n2=$sum
i=$[$i+1]
fi
done
输出:1298777728820984005
数值有这么大吗?不太相信
#!/bin/bash
#writen by caibingsen
#time:2016-02-29 06:12:39
i=1
sum=0
n1=1
n2=2
while :
do
if [ $i -eq 99 ]
then
echo $sum
sleep 2
exit
else
sum=$[$n1+$n2]
n1=$n2
n2=$sum
i=$[$i+1]
fi
done
输出:1298777728820984005
数值有这么大吗?不太相信
0
本帖最后由 maria 于 2016-2-29 10:22 编辑
就是这么大啊,其实真实数字比这个数还要大。因为计算机的整数长度限制,中间会出现负数。我用Java写的程序用长整形得出的数是573147844013817084101,这才应该是真实的计算结果
蔡炳森 发表于 2016-2-28 23:02
[root@156 sbin]# cat shuxue.sh
#!/bin/bash
#writen by caibingsen
就是这么大啊,其实真实数字比这个数还要大。因为计算机的整数长度限制,中间会出现负数。我用Java写的程序用长整形得出的数是573147844013817084101,这才应该是真实的计算结果
0
#!/bin/bash
a=1
b=2
sum=0
X=`seq 3 100`
for m in $X
do
sum=$[$a+$b]
a=$b
b=$sum
done
echo $sum
1298777728820984005
a=1
b=2
sum=0
X=`seq 3 100`
for m in $X
do
sum=$[$a+$b]
a=$b
b=$sum
done
echo $sum
1298777728820984005
0
Coohx - 小运维
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368。
自然中的斐波那契数列
自然中的斐波那契数列
这个数列从第2项开始,每一项都等于前两项之和。
{:4_91:}
自然中的斐波那契数列
自然中的斐波那契数列
这个数列从第2项开始,每一项都等于前两项之和。
{:4_91:}
0
Coohx - 小运维
#!/bin/bsah
# 斐波那契数列
# Written by huangxin
while :
do
read -p "Please input a number: " count
temp=`echo $count |sed 's/[0-9]//g'`
if [ -z "$temp" ];then
seq1=0
seq2=1
nextnumber=0
if [ $count -eq 1 ];then
echo "The sequeue's $count number is: $seq1"
exit
elif [ $count -eq 2 ];then
echo "The sequeue's $count number is: $seq2"
exit
else
for i in `seq 3 $count`
do
nextnumber=$[$seq1+$seq2]
seq1=$seq2
seq2=$nextnumber
done
echo "The sequeue's $count number is: $nextnumber"
exit
fi
else
"please retry!"
fi
done
# 斐波那契数列
# Written by huangxin
while :
do
read -p "Please input a number: " count
temp=`echo $count |sed 's/[0-9]//g'`
if [ -z "$temp" ];then
seq1=0
seq2=1
nextnumber=0
if [ $count -eq 1 ];then
echo "The sequeue's $count number is: $seq1"
exit
elif [ $count -eq 2 ];then
echo "The sequeue's $count number is: $seq2"
exit
else
for i in `seq 3 $count`
do
nextnumber=$[$seq1+$seq2]
seq1=$seq2
seq2=$nextnumber
done
echo "The sequeue's $count number is: $nextnumber"
exit
fi
else
"please retry!"
fi
done
0
#/bin/bash/
a=1
b=2
i=3
while :
do
if [ $i == 100 ]
then
sum=$[$a+$b]
echo $sum
exit
else
sum=$[$a+$b]
a=$b
b=$sum
i=$[$i+1]
fi
done
a=1
b=2
i=3
while :
do
if [ $i == 100 ]
then
sum=$[$a+$b]
echo $sum
exit
else
sum=$[$a+$b]
a=$b
b=$sum
i=$[$i+1]
fi
done
0
GaryHuang0113 - 世上无难事,只怕有心人
本帖最后由 GaryHuang0113 于 2016-8-9 17:42 编辑
#!/bin/bash
a=1
b=2
i=3
while [ $i -le 100 ]
do
c=$[$a+$b]
a=$b;
b=$c;
i=$[$i+1];
echo "$a -> $b -> $c"
done
echo $c;
结果 有很多超出精度了,这个有什么好办法处理么
7540113804746346429 -> -6246583658587674878 -> -6246583658587674878
-6246583658587674878 -> 1293530146158671551 -> 1293530146158671551
1293530146158671551 -> -4953053512429003327 -> -4953053512429003327
-4953053512429003327 -> -3659523366270331776 -> -3659523366270331776
-3659523366270331776 -> -8612576878699335103 -> -8612576878699335103
-8612576878699335103 -> 6174643828739884737 -> 6174643828739884737
6174643828739884737 -> -2437933049959450366 -> -2437933049959450366
-2437933049959450366 -> 3736710778780434371 -> 3736710778780434371
3736710778780434371 -> 1298777728820984005 -> 1298777728820984005
#!/bin/bash
a=1
b=2
i=3
while [ $i -le 100 ]
do
c=$[$a+$b]
a=$b;
b=$c;
i=$[$i+1];
echo "$a -> $b -> $c"
done
echo $c;
结果 有很多超出精度了,这个有什么好办法处理么
7540113804746346429 -> -6246583658587674878 -> -6246583658587674878
-6246583658587674878 -> 1293530146158671551 -> 1293530146158671551
1293530146158671551 -> -4953053512429003327 -> -4953053512429003327
-4953053512429003327 -> -3659523366270331776 -> -3659523366270331776
-3659523366270331776 -> -8612576878699335103 -> -8612576878699335103
-8612576878699335103 -> 6174643828739884737 -> 6174643828739884737
6174643828739884737 -> -2437933049959450366 -> -2437933049959450366
-2437933049959450366 -> 3736710778780434371 -> 3736710778780434371
3736710778780434371 -> 1298777728820984005 -> 1298777728820984005
编辑回复