南阳91 阶乘之和
2015-05-29 13:19
375 查看
描述
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
输入第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000;输出如果符合条件,输出Yes,否则输出No;样例输入
样例输出
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
输入第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000;输出如果符合条件,输出Yes,否则输出No;样例输入
2910
样例输出
Yes
No
#include<stdio.h> int a[15]; int i; void fun() { a[1]=1; for(i=2;i<10;++i) { a[i]=a[i-1]*i; } } int main() { fun(); int t; int n; scanf("%d",&t); while(t--) { scanf("%d",&n); int flag=0; for(i=9;i>0;--i) { if(n>=a[i]) n-=a[i]; if(n==0) { flag=1; } } if(flag) { printf("Yes\n"); } else { printf("No\n"); } } return 0; }
相关文章推荐
- 支付漏洞的三种常见类型
- 批处理for命令各开关的含义
- 第12周-程序阅读-多态性与抽象类-虚函数
- Golang 计算目录中代码的行数
- c# sendKey()
- Python Version 2.7 required which was not found in the registry
- websword-update-notification
- ASP.NET 管道事件与HttpModule, HttpHandler简单理解
- 利用Dijkstra算法实现记录每个结点的所有最短路径
- JS动态添加节点后渲染为EasyUI控件,EasyUI动态渲染解析解决方案
- DDR核心频率、工作频率,等效频率详解
- 利用Dijkstra算法实现记录每个结点的所有最短路径
- leetcode123---Best Time to Buy and Sell Stock III
- Gestalt laws
- iOS7 edgesForExtendedLayout
- 南阳oj47 过河问题
- android Intent机制详解
- HYSBZ 1036 树链剖分(单点更新区间求和求最大值)
- 数据库update时切忌这样干
- 阅读第8,9,10章