![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Algorithm
文章平均质量分 73
suchang_csdn
菜鸟级程序员
展开
-
基础题 2 ——《实用算法基础教程》
计算灯的开关状态计算灯的开关状态。有N个灯放在一排,从1到N依次顺序编号。有N 个人也从1到N依次编号。1号将灯全部关闭,2号将凡是2的倍数的灯打开;3号将凡是3的倍数灯相反处理(该灯如为打开的,则将它关闭;如关闭,则将它打开)。以后的人都和3号一样,将凡是自己编号倍数的灯作相反处理。试计算第N个人操作后,哪几只灯是亮的?(0—表示打开,1—表示关闭)常规写法var k,n,i,j: integer原创 2015-09-15 23:25:30 · 559 阅读 · 0 评论 -
基础题 4 ——《实用算法基础教程》
放球把m个球放入编号0,1,2,…,k-1的k个盒子中(m<2^k),要求第i盒内放2^i个球,如果无法满足就一个也不放,求出放球的具体方案。解题技巧将十进制数M转换成对应的二进制数,将第i位的数字2^i即为第i个盒子应放的球数。例如:M = 23 转换成二进制 m = 1011123 = 2^4 + 2^2 + 2^1 + 2^0即0号盒放1个,1号盒放2个,2号盒放4个,3号盒放0个,4号盒原创 2015-09-17 21:55:17 · 366 阅读 · 0 评论 -
枚举法 4 —— 《实用算法基础教程》
将1至9这九个数字填入九个。每一行的三个数字组成一个三位数。如果要使第二行的三位数是第一行的两倍,第三行的三位数是第一行的三倍,应该怎样填数。原创 2015-09-18 21:48:31 · 607 阅读 · 0 评论