求满足$$\frac{abcde}{fghij} = N$$的所有$abcde$ 和 $fghij$的值,其中$2 <= N <= 79。$
刘汝佳老师:即使采用暴力法求解问题,对问题进行一定的分析往往会让算法更简介、高效。
受益匪浅。
链接
题解
一开始直接DFS暴力出来0~9的不同排列,判断是否满足条件,TL了。看了刘汝佳老师的解法,只枚举$fghij$,然后算出$abcde$,再判断是否所有数字都不相同。而且当$abcde$ 和 $fghij$加起来超过10位时可以终止枚举。复杂度大大降低。
代码-循环枚举
1 | /* |
代码-DFS枚举
1 | /* |