【NYOJ-91】 阶乘之和
来源:互联网 发布:淘宝上买c10a配件违法 编辑:程序博客网 时间:2024/05/21 09:33
点击打开链接
阶乘之和
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
- 第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
2
9
10
- 样例输出
Yes
No
// 10的阶乘3000000多,所以只用算到9的阶乘;
// 一种简单的思路是从大了往下减,减完剩下的数再比阶乘大了再减,如果n == 0 则Yes
//代码如下:
#include <cstdio>int main(){int m;int a[77];scanf ("%d",&m);int fun (int n);while (m--) { int n; scanf ("%d",&n); for (int i = 1 ; i < 10 ; i++) { a[i-1] = fun(i); }for (int j = 8 ; j >= 0 ; j--) { if (n >= a[j]) { n = n - a[j]; } } if (n == 0) printf ("Yes\n"); else printf ("No\n"); }return 0;}int fun (int n){int mul = 1;for (int i = 1 ; i <= n ; i++) mul *= i;return mul;}
阅读全文
0 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 阶乘之和
- Android
- RTMP协议播放流程的实现及抓包分析
- Hibernate中使用HQL进行分页查询
- 最大类间二值化
- 名称 , 正则 顾问(示例)
- 【NYOJ-91】 阶乘之和
- C++ primer阅读笔记------------字符串,向量和数组
- Python通过__new__实现单例设计
- 佳能MP4视频恢复方法
- Java多线程基础--02之 常用的实现多线程的两种方式
- 强化学习(Reinforcement Learning)的方法分类
- Funny Function
- Spinner弹出框遮挡住显示框的解决办法
- 欢迎使用CSDN-markdown编辑器