免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: rdcwayx
打印 上一主题 下一主题

找出最后亮灯的灯泡列表。 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
11 [报告]
发表于 2010-07-01 23:34 |只看该作者
本帖最后由 beginner-bj 于 2010-07-01 23:58 编辑
  1. $ ksh <<'!'
  2. > a=1
  3. > while [ $a -le 100 ];do
  4. >       c[$a]=0
  5. >       b=1
  6. >       while [ $b -lt $a ];do
  7. >               #echo $a%$b $(($a%$b))
  8. >               if [ $(($a%$b)) -eq 0 ];then
  9. >                       ((c[$a]=${c[$a]}+1))
  10. >                       #echo === c[$a] ${c[$a]}
  11. >               fi
  12. >               ((b=$b+1))
  13. >         done
  14. >       ((a=$a+1))
  15. > done
  16. > a=1
  17. > while [ $a -le 100 ];do
  18. >       if [ $((${c[$a]}%2)) -eq 0 ];then
  19. >               printf " "$a
  20. >       fi
  21. >       ((a=$a+1))
  22. > done
  23. > printf "\n"
  24. > !

  25. 1 4 9 16 25 36 49 64 81 100
  26. $
  27. $
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
12 [报告]
发表于 2010-07-02 00:19 |只看该作者
  1. 想明白了。一个数永远可以等于一组或多组a*b,比如10可以有两组——1*10和2*5,在a时变一次状态,在b时又变一次状态,相当于没变。只有在特列a=b时,状态只变一次。所以答案是1到10的平方数。
  2. a=1
  3. while [ $a -le 10 ];do
  4.         echo $(($a*$a))
  5.         ((a=$a+1))
  6. done

复制代码

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
13 [报告]
发表于 2010-07-02 08:28 |只看该作者
本帖最后由 rdcwayx 于 2010-07-02 08:29 编辑
lkk2003rty 发表于 2010-07-01 20:50

#!/bin/bash
for((i=1;i<11;i++))
do
echo $((i*i))
done



这也算解题?知道答案后,直接给出答案而已。 还有那个echo的,捣浆糊嘛。

还就得一步一步的去判断的做。

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
14 [报告]
发表于 2010-07-02 08:37 |只看该作者
  1. awk 'BEGIN{for(i=1;i<=100;i++)a[i]=0;for(j=1;j<=100;j++){for(i in a){if(i%j==0)a[i]=(a[i]+1)%2}};for(i in a)if(a[i])print i}'
复制代码

论坛徽章:
0
15 [报告]
发表于 2010-07-02 08:47 |只看该作者
数学不行,,,想不明白........

论坛徽章:
0
16 [报告]
发表于 2010-07-02 09:21 |只看该作者
回复 13# rdcwayx


    这个不是知道答案 是你想出来 完全平方数会亮的 然后打印就是了  完全按照流程写shell写那么多干啥啊。。。。一步到位。。。。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
17 [报告]
发表于 2010-07-02 09:36 |只看该作者
本帖最后由 blackold 于 2010-07-02 09:38 编辑

回复 6# iori809


    呵呵,这是分解因数问题啊,应该小学时学的。

   转化为数学问题就是求因数的个数为奇数的整数。
  设N的开方为n,如果a为N的因数,且a<n,那么必然存在N的另一个因数b,b>n。

因此当n为整数时, N的因数个数为奇数,否则为偶数。

  就是求完全平方数。

论坛徽章:
0
18 [报告]
发表于 2010-07-02 09:38 |只看该作者
回复 17# blackold


    看来对您来说太小儿科了~ 折腾说的果然没错。卖过冰糕的算数就是厉害

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
19 [报告]
发表于 2010-07-02 09:42 |只看该作者
回复 7# Shell_HAT


    这家伙也用MJ了,否则积分怎么会多了七八千?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
20 [报告]
发表于 2010-07-02 09:44 |只看该作者
回复 18# iori809


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP