4个经典算法问题的shell表示
2016-07-10 20:28
519 查看
1、猴子第一天摘了若干个桃子,当天吃了一半,还不过瘾,又多吃了一个;第二天早上又吃掉了剩下的一半,又多吃了一个。以后每一天都吃了前一天剩下的一半又多吃一个。到第十天的早上想再吃的时候,发现只剩下一个桃子了。问:这只猴子第一天共摘了多少个桃子?
执行的结果
2、求水仙花数编程:在网页上显示出所有水仙花数。解释:水仙花数:是指一个三位数,其各位数字的立方和等于该数本身。如:153就是一个水仙花数,因为1的立方+5的立方+3的立方=153。
执行的结果
3、鸡兔同笼这是《孙子算经》中的一个著名的趣题,大家试求出结果。题目如下:一只笼子里有好多鸡和兔子,看头数有35只头,看腿有94只腿,问各有鸡和兔多少只?
执行的结果
4、一元钱把一元钱换成一分,二分,五分硬币(每种至少用一枚),问有多少种换法?并且把每种换法输出
这个题目总共有461种方法,太多就不贴图了,重定向执行结果到文本吧,The End本文出自 “duwers”博客,请务必保留此出处http://duwers.blog.51cto.com/7376225/1795222
#!/bin/bash #共有sum个 #最后一天 1 个 #第9天(1+1)*2 #第一天的桃子数是第2天桃子数加1后的2倍 #sum=(sum+1)*2 sum=1 for i in 1 2 3 4 5 6 7 8 9 do sum=$(expr $(expr $sum + 1) \* 2) echo $sum done
执行的结果
2、求水仙花数编程:在网页上显示出所有水仙花数。解释:水仙花数:是指一个三位数,其各位数字的立方和等于该数本身。如:153就是一个水仙花数,因为1的立方+5的立方+3的立方=153。
#!/bin/bash #水仙花数范围:100<=x=<999 #a=x/100,b=(x-a*100)/10,c=(x-a*100-b*10) #a*a*a+b*b*b+c*c*c=x x=100 for ((x=100; x<1000; x++)) do a=$(expr $x / 100) b=$(expr $(expr $x - $a \* 100) / 10) c=$(expr $x - $a \* 100 - $b \* 10) if [ $(expr $a \* $a \* $a + $b \* $b \* $b + $c \* $c \* $c) = $x ];then echo $x fi done
执行的结果
3、鸡兔同笼这是《孙子算经》中的一个著名的趣题,大家试求出结果。题目如下:一只笼子里有好多鸡和兔子,看头数有35只头,看腿有94只腿,问各有鸡和兔多少只?
#!/bin/bash #x+y=35 #2x+4(35-x)=94 for x in $(seq 35) do y=$(expr 35 - $x) if [ $(expr $x \* 2 + $y \* 4) = 94 ];then echo 鸡${x}只 兔子${y}只 fi done
执行的结果
4、一元钱把一元钱换成一分,二分,五分硬币(每种至少用一枚),问有多少种换法?并且把每种换法输出
#!/bin/bash #x>=1,x<=93 #y>=1,y<=47 #z>=1,z<=19 #x+2y+5z=100 for ((x=1; x<94; x++)) do for((y=1; y<48; y++)) do for((z=1; z<20; z++)) do if [ $(expr $x + $y \* 2 + $z \* 5) = 100 ];then echo $x $y $z fi done done done
这个题目总共有461种方法,太多就不贴图了,重定向执行结果到文本吧,The End本文出自 “duwers”博客,请务必保留此出处http://duwers.blog.51cto.com/7376225/1795222
相关文章推荐
- android wifi 无线调试
- 运维入门
- 动态清空 nohup 输出文件
- install scrapy with pip and easy_install
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Linux Shell常用技巧
- Shell 脚本编程陷阱
- 杀毒软件 Dr.Web Anti-virus for Windows Vista 4.44.0 Beta
- C#中循环语句:while、for、foreach的使用
- shell字符串操作详解
- for 提取文本整行内容的方法
- dos命令for用法详解
- cmd if条件 条件判断
- for命令的一些bug分析
- 批处理 FOR参数/F之tokens详解
- 详解Lua中的if语句的使用方法
- Lua中数字for循环实例
- 深入解读Lua中迭代器与泛型for的使用
- Shell中删除某些文件外所有文件的3个方法
- perl 控制结构 条件控制 if while