//用n从9的阶乘开始向前减
#include <iostream>
using namespace std;
int main()
{
int T;
int a[] = {1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
cin >> T;
while(T--)
{
int n;
cin >> n;
int flag = 0;
int t = n;
for(int i = 8; i >= 0; i--)
{
if(n >= a[i] && n > 0)
n -= a[i];
if(n == 0)
{
flag = 1;
break;
}
}
if(flag == 1 && t)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
}
南阳理工OJ_题目91 阶乘之和
最新推荐文章于 2017-07-26 14:23:40 发布