南阳oj第91题(阶乘之和)
来源:互联网 发布:qq抢红包软件 编辑:程序博客网 时间:2024/06/16 08:23
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
- 第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
2
9
10
- 样例输出
Yes
No
分析:可将n减去小于n的最大的阶乘,判断减去后的值是否为0,若为0,则符合条件,若不为0,再将减去得到的数再减去小于其的最大阶乘,再进行判断,直至减去后所得的数前最大阶乘为1的阶乘,若还不为0,则一定不满足条件。
#include <stdio.h>int N(int a){int sum = 0;if(a == 0)return (1);elsesum = a*N(a-1);return sum;}int main(){int n, m, i, b;scanf("%d", &m);while(m--){scanf("%d", &n);for(i = 10; i >= 0; i--){if(N(i) <= n){n -= N(i);} if(i == 0){printf("No\n");break;}if(n == 0) //0的阶乘为 1 ; {printf("Yes\n");break;}}}return 0; }
阅读全文
0 0
- 南阳oj第91题(阶乘之和)
- 【南阳OJ 91】 阶乘之和(贪心)
- 阶乘之和||南阳OJ
- 南阳oj 题目91 阶乘之和
- 阶乘之和(南阳oj,贪心,91)
- 阶乘之和-南阳OJ-71题
- 南阳91 阶乘之和
- 南阳91 阶乘之和
- 南阳91 阶乘之和
- 南阳题目91-阶乘之和
- 南阳理工91 阶乘之和
- 南阳理工OJ第69题 阶乘位数
- 南阳理工OJ_题目91 阶乘之和
- 南阳理工91——阶乘之和
- 南阳理工acm 91阶乘之和
- 阶乘之和(南阳oj91)(水题)
- 南阳oj 阶乘因式分解(一)
- 南阳OJ 阶乘因式分解
- vb开发ocx控件整理
- 四招助力练就Devops核心能力!
- super关键字
- 谨慎优化代码
- CentOS之7与6的区别
- 南阳oj第91题(阶乘之和)
- 最长公共子序列(LCS)的C++实现
- android之解析json
- linux-samba服务器配置
- hdu2031 进制转换(C语言)
- Sass开发注意点
- JavaSeript实现摄像头拍照预览
- faster RCNN的Python的画出来loss曲线图
- JFinal数据库连接及访问