1411111709-ny-阶乘之和
来源:互联网 发布:java 传智播客 编辑:程序博客网 时间:2024/05/10 12:54
阶乘之和
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
- 第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
2910
- 样例输出
YesNo
- 解题思路
- 阶乘和有个特点就是前n项和总比第n+1项小,这题就需要这个性质。
- 代码
#include<stdio.h>long num[12];//因为n小于100000,所以10就足够,10!>100000int main(){int t,n;int i,j,k;num[1]=1;for(i=2;i<=12;i++)num[i]=i*num[i-1]; scanf("%d",&t);while(t--){scanf("%d",&n);for(i=12;i>=1;i--)if(n>=num[i])n-=num[i];//因为不能重复使用,所以从大到小符合条件就减就好if(n==0)printf("Yes\n");elseprintf("No\n");}return 0;}
0 0
- 1411111709-ny-阶乘之和
- 大数阶乘-ny-28
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 【阶乘之和】
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- Mono.Data.Sqlite.dll unity3d导入此dll报错 System.Runtime.InteropServices.GuidAttribute
- android内存回收机制
- java 虚拟机内存溢出
- 数组名作为函数的参数(1)
- 做个电商网站需要用到的技术
- 1411111709-ny-阶乘之和
- Windows Server 2012 配置多用户远程桌面
- Spring annotation controller与requestmapping
- 学习yii2.0笔记--relus
- <高质量C>内存管理
- 第十一周项目五:当年第几天(改进版)
- 有关const引用
- Linux笔记---1
- 如果不找黑客改绩点成绩如何出国