题目描述
有些数可以表示成若干个不同阶乘的和。例如,9=1!+2!+3!。小明对这些数很感兴趣,所以他给你一个正整数n,想让你告诉他这个数是否可以表示成若干个不同阶乘的和。
输入描述
输入包含多组测试数据。每组输入为一个非负整数n(n<=1000000),当n为负数时,输入结束。
输出描述
对于每组输入,如果n可以表示成若干个不同阶乘的和,则输出YES,否则输出NO。
输入样例
9
-1
输出样例
YES
提示#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
long long b[11];
int main()
{
long long n;
while(scanf("%lld",&n)!=EOF)
{
b[0]=1;
int k=1;
long long sum;
if(n<0)
break;
for(int i=1;i<=9;i++)
{
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
long long b[11];
int main()
{
long long n;
while(scanf("%lld",&n)!=EOF)
{
b[0]=1;
int k=1;
long long sum;
if(n<0)
break;
for(int i=1;i<=9;i++)
{