提供一个手工解决问题的简单思路
其实只要计算十多次加法(x
假设 要写成 型的和,很容易发现如果令
会发现 相等,而 时的方法数是不变的,即与 无关
这是因为:最后的余数不可能使用 拼凑,只能是 个
因此不妨设 的方法数为
然后我们来证明:
这里
证明其实非常简单: 时候的配凑方法分成不相交的两类
如果含有三个或以上的 ,就把它们去掉,一一对应 的方法
如果不含有,必是 个 ,考虑 必须只使用 个 ,否则不是 的倍数
这样就把 的每一种配凑方法的数字除以 ,就对应了 的配凑方法数,即
好的接下来手算如下(真的是手算的哦!)
看见 即为所求
显然,有了这种技巧,大一点的数字编程也是很容易实现的
可是为什么说只要计算十多次加法呢?
因为你发现其实是在把为数不多的几个数拼命做重复的三次加法
所以只要计算:
即 的三倍加一个 就能得到
猜测
其中 是某个与 无关的常数