免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 4615 | 回复: 26
打印 上一主题 下一主题

[数值计算] 如何用Shell来实现一个精彩的算术例子??? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-05-29 13:02 |只看该作者 |倒序浏览
各位大神,昨天见到一个不错的题目,但思前想后没有想出来解法,遂贴出来,希望集思广益,看看大家有没有好的思路或解法:


大家一起探讨探讨,学习咯!

论坛徽章:
0
2 [报告]
发表于 2013-05-29 13:08 |只看该作者
@waker
@rdcwayx
@expert1
@Shell_HAT
@zooyo
......

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每月发帖之星
日期:2015-09-11 19:30:52IT运维版块每周发帖之星
日期:2015-09-11 19:20:31IT运维版块每日发帖之星
日期:2015-08-26 06:20:00每日论坛发贴之星
日期:2015-08-20 06:20:00IT运维版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15金牛座
日期:2014-05-04 16:58:09双子座
日期:2013-12-17 16:44:37辰龙
日期:2013-11-22 15:20:59狮子座
日期:2013-11-18 22:55:08射手座
日期:2013-11-12 10:54:26
3 [报告]
发表于 2013-05-29 13:25 |只看该作者
找永夜吧!应该能帮你搞定。

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
4 [报告]
发表于 2013-05-29 14:01 |只看该作者
  1. [root@ ~]$ awk -vlen=9 'BEGIN{for(i=1;i<=len;i++){for(j=1;j<=i;j++){a=a""j;if(i==j){printf a" * 8 + "i" =" expr a * 8 + i"\n";a=""}}}}'
  2. 1 * 8 + 1 =9
  3. 12 * 8 + 2 =98
  4. 123 * 8 + 3 =987
  5. 1234 * 8 + 4 =9876
  6. 12345 * 8 + 5 =98765
  7. 123456 * 8 + 6 =987654
  8. 1234567 * 8 + 7 =9876543
  9. 12345678 * 8 + 8 =98765432
  10. 123456789 * 8 + 9 =987654321
复制代码

论坛徽章:
13
丑牛
日期:2013-08-16 15:08:22技术图书徽章
日期:2013-11-26 10:13:40双鱼座
日期:2013-11-08 15:03:26戌狗
日期:2013-11-08 13:52:30技术图书徽章
日期:2013-11-05 14:06:30戌狗
日期:2013-10-31 11:45:42CU十二周年纪念徽章
日期:2013-10-24 15:41:34天秤座
日期:2013-10-11 14:55:08子鼠
日期:2013-09-26 19:36:35水瓶座
日期:2013-09-26 17:44:56午马
日期:2013-08-26 10:24:23丑牛
日期:2013-08-19 14:43:22
5 [报告]
发表于 2013-05-29 14:05 |只看该作者
  1. [root@ ~]$ awk -vlen=9 'BEGIN{for(i=1;i<=len;i++){for(j=1;j<=i;j++){a=a""j;if(i==j){printf a" * 9 + "expr i + 1" =" expr a * 9 + i + 1"\n";a=""}}}}'
  2. 1 * 9 + 2 =11
  3. 12 * 9 + 3 =111
  4. 123 * 9 + 4 =1111
  5. 1234 * 9 + 5 =11111
  6. 12345 * 9 + 6 =111111
  7. 123456 * 9 + 7 =1111111
  8. 1234567 * 9 + 8 =11111111
  9. 12345678 * 9 + 9 =111111111
  10. 123456789 * 9 + 10 =1111111111
复制代码

论坛徽章:
0
6 [报告]
发表于 2013-05-29 14:09 |只看该作者
本帖最后由 hbmhalley 于 2013-05-29 14:10 编辑
  1. $ dc -e '0 0[1+dstr10*+dn[ * 8 + ]nltn[ = ]nd8*lt+psrltd9>a]dsax';\
  2. > dc -e '0 1[d1+str10*+dn[ * 9 + ]nltn[ = ]nd9*lt+psrltd9>a]dsax';\
  3. > dc -e '0 7[dstr10*2++dn[ * 9 + ]nltn[ = ]nd9*lt+psrlt1-d0!>a]dsax';\
  4. > dc -e '0 0[1+r10*1+dn[ * ]ndn[ = ]ndd*psrrd9>a]dsax';
  5. 1 * 8 + 1 = 9
  6. 12 * 8 + 2 = 98
  7. 123 * 8 + 3 = 987
  8. 1234 * 8 + 4 = 9876
  9. 12345 * 8 + 5 = 98765
  10. 123456 * 8 + 6 = 987654
  11. 1234567 * 8 + 7 = 9876543
  12. 12345678 * 8 + 8 = 98765432
  13. 123456789 * 8 + 9 = 987654321
  14. 1 * 9 + 2 = 11
  15. 12 * 9 + 3 = 111
  16. 123 * 9 + 4 = 1111
  17. 1234 * 9 + 5 = 11111
  18. 12345 * 9 + 6 = 111111
  19. 123456 * 9 + 7 = 1111111
  20. 1234567 * 9 + 8 = 11111111
  21. 12345678 * 9 + 9 = 111111111
  22. 9 * 9 + 7 = 88
  23. 98 * 9 + 6 = 888
  24. 987 * 9 + 5 = 8888
  25. 9876 * 9 + 4 = 88888
  26. 98765 * 9 + 3 = 888888
  27. 987654 * 9 + 2 = 8888888
  28. 9876543 * 9 + 1 = 88888888
  29. 98765432 * 9 + 0 = 888888888
  30. 1 * 1 = 1
  31. 11 * 11 = 121
  32. 111 * 111 = 12321
  33. 1111 * 1111 = 1234321
  34. 11111 * 11111 = 123454321
  35. 111111 * 111111 = 12345654321
  36. 1111111 * 1111111 = 1234567654321
  37. 11111111 * 11111111 = 123456787654321
  38. 111111111 * 111111111 = 12345678987654321
复制代码

评分

参与人数 1可用积分 +10 收起 理由
cjaizss + 10 赞一个!

查看全部评分

论坛徽章:
0
7 [报告]
发表于 2013-05-29 15:02 |只看该作者
回复 6# hbmhalley


    天书呀

论坛徽章:
0
8 [报告]
发表于 2013-05-29 15:29 |只看该作者
回复 4# 代号:军刀


    十分感谢,awk的用处没想到这么大!

论坛徽章:
0
9 [报告]
发表于 2013-05-29 15:31 |只看该作者
回复 6# hbmhalley


    强大!之前完全没有听说过 dc 这个工具,这次算是见识了!

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
10 [报告]
发表于 2013-05-29 16:08 |只看该作者
本帖最后由 yinyuemi 于 2013-05-29 17:08 编辑

回复 1# UltimateSniper
  1. awk 'BEGIN{for(i=1;i<=9;i++){print (t=t i),"*",8,"+",i," = ",t*8+i}}'
  2. 1 * 8 + 1  =  9
  3. 12 * 8 + 2  =  98
  4. 123 * 8 + 3  =  987
  5. 1234 * 8 + 4  =  9876
  6. 12345 * 8 + 5  =  98765
  7. 123456 * 8 + 6  =  987654
  8. 1234567 * 8 + 7  =  9876543
  9. 12345678 * 8 + 8  =  98765432
  10. 123456789 * 8 + 9  =  987654321

  11. awk 'BEGIN{for(i=1;i<=8;i++){print (t=t i),"*",9,"+",i+1," = ",t*9+(i+1)}}'
  12. 1 * 9 + 2  =  11
  13. 12 * 9 + 3  =  111
  14. 123 * 9 + 4  =  1111
  15. 1234 * 9 + 5  =  11111
  16. 12345 * 9 + 6  =  111111
  17. 123456 * 9 + 7  =  1111111
  18. 1234567 * 9 + 8  =  11111111
  19. 12345678 * 9 + 9  =  111111111
  20. awk 'BEGIN{for(i=9;i>1;i--){print (t=t i),"*",9,"+",i-2," = ",t*9+(i-2)}}'
  21. 9 * 9 + 7  =  88
  22. 98 * 9 + 6  =  888
  23. 987 * 9 + 5  =  8888
  24. 9876 * 9 + 4  =  88888
  25. 98765 * 9 + 3  =  888888
  26. 987654 * 9 + 2  =  8888888
  27. 9876543 * 9 + 1  =  88888888
  28. 98765432 * 9 + 0  =  888888888
  29. [jhou@localhost Dataset Published]$ awk 'BEGIN{for(i=9;i>1;i--){print (t=t 1),"*",(t)," = ",t*t}}'
  30. 1 * 1  =  1
  31. 11 * 11  =  121
  32. 111 * 111  =  12321
  33. 1111 * 1111  =  1234321
  34. 11111 * 11111  =  123454321
  35. 111111 * 111111  =  12345654321
  36. 1111111 * 1111111  =  1234567654321
  37. 11111111 * 11111111  =  123456787654321
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP