无聊时做道测验题
2008-03-02 TsengYia#126.com 一路狂笑
################################################################
无聊时做道测验题:
对一批编号为1~100,全部开关朝上(开)的灯进行以下操作:凡是1的倍数反方向拨一次开关;2的倍数反方向又拨一次开关;3的倍数反方向又拨一次开关……直到100的倍数。问:最后为关熄状态的灯的编号。
###############################################
#!/bin/bash
for ((j=1;j<=100;j++)) ; do
for ((i=1;i<=100;i++)) ; do
if [ $[i%j] -eq 0 ] ; then
if [ ${No[$i]:=1} -eq 1 ] ; then
No[$i]=0
else
No[$i]=1
fi
fi
done; done
echo State OFF:
for ((i=1;i<=100;i++)) ; do
[ ${No[$i]} -eq 0 ] && echo -n "$i "
done
echo
###############################################
答案:
State OFF:
1 4 9 16 25 36 49 64 81 100
阅读(2025) | 评论(1) | 转发(0) |