第1关:n位逐位整除数
任务描述
本关任务:掌握回溯法算法思想,并能利用回溯法算法思想解决n位逐位整除数问题。
n位逐位整除数(简称整除数):从其高位开始,高1位能被整数1整除(显然),高2位能被整数2整除,…,整个n位能被整数n整除。给定整数n,求所有的n位整除数的个数。
例如,整数102450就是一个6位整除数。
相关知识
为了完成本关任务,你需要掌握:1.回溯法的基本思想,2.回溯法的基本步骤,3.回溯法的算法框架,4.整除数的求解思路。
回溯法的基本思想
有许多问题,当需要找出它的解集或者要求回答什么解是满足某些约束条件的最佳解时,往往要使用回溯法。
回溯法的基本做法是搜索,或是一种组织得井井有条的,能避免不必要搜索的穷举式搜索法。这种方法适用于解一些组合数相当大的问题。
回溯法在问题的解空间树中,按深度优先策略,从根结点出发搜索解空间树。算法搜索至解空间树的任意一点时,先判断该结点是否包含问题的解。如果包含,进入该子树,继续按深度优先策略搜索。如果肯定不包含,则跳过对该结点为根的子树的搜索,逐层向其祖先结点回溯。
回溯法的基本步骤
根据