3608: 整数分解-训练套题T5T1
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:3
Solved:2
Description
1.整数分解(sum.pas)
【问题描述】
某些数能表示成为一些互不相同的整数的阶乘之和,如9=1!+2!+3!
现给定一个非负整数n,要求判断n能否表示成为一些互不相同的非负整数的阶乘之和,如果能,则输出“YES”,否则输出“NO”
【输入格式】
每行一个非负整数n(n<=1000000),最后一行是一个负数,作为输入结束的标志。
输入文件不超过100行。
【输出格式】
对输入中的每个非负整数n,输出“YES”或者“NO”,各占一行。
【输入样例】
9
5
-1
【输出样例】
YES
NO
HINT
注意点:
(1)0!=1, 输入也有可能是0,
(2)负数结束,而不是-1,
(3)0-9的阶乘预处理出,
(4)从大到小能减则减,因为 x!>(x-1)!+(x-2)!+....+0!