NYOJ-91:阶乘之和
来源:互联网 发布:上膛雾化器做丝数据 编辑:程序博客网 时间:2024/04/27 18:32
- 描述
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
- 第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
2
9
10
- 样例输出
Yes
No
#include<iostream>#include<cstdio>#include<cstring>#define N 14using namespace std;/*贪心算法,从小于n的最高阶乘减起*/long fac[N];void Cal(){int i;fac[1] = 1;for(i=2;i<N;i++)fac[i] = i*fac[i-1];}int main(){int t,n;Cal();//先计算出阶乘表cin>>t;while(t--){cin>>n;int i=1;while(fac[i]<n)i++; //找到第一个比n大的阶乘while(i>0){if(n>=fac[i])n = n-fac[i];//当n大于该阶乘时减去该阶乘i--;}if (n>0)//如果余数不为0则不是cout<<"No"<<endl;else cout<<"Yes"<<endl;}return 0;}
- nyoj 91 阶乘之和
- NYOJ-91:阶乘之和
- nyoj 91 阶乘之和
- NYOJ,91,阶乘之和
- nyoj-91-阶乘之和
- NYOJ 91 阶乘之和
- NYOJ 91 阶乘之和
- NYOJ-91 阶乘之和
- NYOJ 91 阶乘之和
- Nyoj 91 阶乘之和
- NYOJ-91阶乘之和
- NYOJ-91 阶乘之和
- NYOJ 91 阶乘之和
- NYOJ 91 阶乘之和
- NYOJ-91 阶乘之和
- NYOJ 91 阶乘之和
- NYOJ 91 阶乘之和
- NYOJ 91 阶乘之和
- 源代码网站
- Hadoop集群配置详解
- 中国养老金难题:不公平双轨制的后遗症
- MyEclipse是web项目使用过程中,address already in use的解决办法
- pylint python语法检查利器
- NYOJ-91:阶乘之和
- 自动滚屏
- 技术知识图
- MS Chart X轴竖直显示
- JS闭包
- 页面背景选择器
- activePDF Toolkit使用教程:怎样在PDF中添加批注
- Phpcms v9 整合Discuz! X2.5 和UCenter 1.6.0详细教程
- 感謝CSDN的上層主管