求个算法
问题描述有些数能若干个数的阶乘之和。例如,数字9,9=1!+2!+3!。给定一个数n(n<=1,000,000),判断它是否能表示成若干个数的阶乘之和。注意,这些数不一定是连续的,也不一定从1开始。
输入
输入数据有多组,每组占一行,由一个整数组成,直到输入-1结束。
输出
对于每组输入数据,输出一行。如果能表示成阶乘之和,输出“YES”,否则输出“NO”。
输入样例
0
1
2
9
10
12
24
5040
-1
输出样例
NO
YES
YES
YES
YES
NO
YES
YES
用什么方法好呢?