NYOJ 91阶乘之和

xiaoxiao2021-02-28  102

描述

给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;

输入

第一行有一个整数0

输出

如果符合条件,输出Yes,否则输出No;

样例输入

2 9 10

样例输出

Yes No

#include<iostream> using namespace std; int main() { int m,n; cin>>m; while(m--) { cin>>n; int sum=n; int s; for(int i=9;i>=1;i--) { s=1; for(int j=i;j>=1;j--) { s*=j; } if(s<=sum) { sum-=s; } if(sum==0) break; } if(sum==0) cout<<"Yes"<<endl; else cout<<"No"<<endl; } return 0; }
转载请注明原文地址: https://www.6miu.com/read-60303.html

最新回复(0)