nyoj91 阶乘之和
阶乘之和
- 描述
-
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
-
第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
-
2
-
9
-
10
- 样例输出
-
Yes
-
No
-
方法一:
-
#include <stdio.h> #include <string.h> int main() { int m; scanf("%d",&m); int f[11]; memset(f,0,sizeof(f)); //初始化 f[1]=1; for(int i=2;i<11;i++) f[i]=f[i-1]*i; while(m--){ int n; scanf("%d",&n); int i; int aim=n; int flag=10; for(i=flag;i>0;i--)//从最大的开始减 { if(aim>=f[i]){ flag=i-1; aim=aim-f[i]; } } if(aim==0) printf("Yes\n"); else if(aim!=0) printf("No\n"); } return 0; }
方法二:
-
#include<stdio.h> int main() {int m;scanf("%d",&m);int k[9] = {1,2,6,24,120,720,5040,40320,362880};while(m--){int n;scanf("%d",&n);bool f=false;for(int i=8;i>=0;--i){if(n>=k[i]&&n>0)n-=k[i];if(n==0)f=true;}if(f)printf("Yes\n");elseprintf("No\n");}return 0; }
算出阶乘,从不大于n的最大阶乘开始想减,如果结果为0;就是符合的。
nyoj91 阶乘之和相关推荐
- NYOJ91 阶乘之和 与全加器设计Verilog HDL
阶乘之和 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如 ...
- 贪心算法之——阶乘之和(nyoj91)
阶乘之和 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如 ...
- 用Java求一个三位数,该三位数是与其每位数字的阶乘之和
题目:一个三位数,该三位数与其每位数字的阶乘之和 代码: public class TestSum {public static void main(String[] args) {int a, b, ...
- HPU 第三次积分赛:阶乘之和(水题)
阶乘之和 描述 对于整数pp,给出以下定义 p=x_{1}!+x_{2}!+x_{3}!+...+x_{q}!(x_{i}<x_{j}for\ all\ i<j )p=x1!+x2!+ ...
- C语言 1A gt $20,C语言输出 1到20 的阶乘之和
除了调用库,绝对找不到比这更精简的代码了. #include #include long long getdata(long long n){ long long sum = 1; while(n){ ...
- P1009 [NOIP1998 普及组] 阶乘之和-2022.02.01(python3实现)
[NOIP1998 普及组] 阶乘之和 - 洛谷 """P1009 [NOIP1998 普及组] 阶乘之和-2022.02.01(python3实现) https://w ...
- 信息学奥赛一本通 1173:阶乘和 | OpenJudge NOI 1.6 15 | 洛谷 P1009 [NOIP1998 普及组] 阶乘之和
[题目链接] ybt 1173:阶乘和 注:一本通上这题,应该把n≤50n\le50n≤50当做n≤100n\le100n≤100来看 OpenJudge NOI 1.6 15:阶乘和 洛谷 P100 ...
- 信息学奥赛一本通 2033:【例4.19】阶乘之和
[题目链接] ybt 2033:[例4.19]阶乘之和 [题目考点] 1. 同余定理 根据同余定理,有: (a∗b)%m=(a%m∗b%m)%m(a*b)\%m = (a\%m * b\%m)\%m( ...
- 信息学奥赛一本通(2033:【例4.19】阶乘之和)
2033:[例4.19]阶乘之和 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 1896 通过数: 313 [题目描述] 输入nn,计算S=1!+2!+3 ...
最新文章
- 微信上线新功能:再也不怕好友赖账了
- python接口自动化根据请求接口类型进行封装
- QTP之对测试用例的自动化过程的分解
- python绘制3d动态模型_怎么用python把*.obj文件里面的3D模型特征提取出来?
- SQL(基于MySQL)—— 常用查询语句
- TypeScript声明文件
- cmake使用教(一)多目录下多个文件的构建
- Xmind模板文档分享——商务模板(2)
- 商务周刊封面:别了,摩托罗拉
- 几个国外广告联盟介绍
- ltib常用命令详解
- 想要学习丙烯画,这些地方要注意了~
- 亲自官宣!阿里副总裁贾扬清离职,或投身AI架构创业
- 科研伦理与学术规范 期末考试2(40题)
- 【转】三款免费的在线项目管理工具
- kotlin与Java之间的骚操作:kotlin一键调用java
- 首批最佳骑行路线揭晓
- 如何优雅地下载计算机领域英文文献--dblp的食用方法(多图警告)
- Ubuntu 18.04 网易云音乐无法打开问题解决方案
- 追问上交所资金校验缺失系统老化
热门文章
- java类内部的变量
- soap接口怎么不返回tuple python_Python 中的接口
- python# 完成“剪刀石头布游戏”:
- Linux Deepin 版本大全,Deepin下载-Deepin linuxv20.0 官方版下载-6188手游网
- Linux: shell命令 eval (有图有代码有真相!!!)
- 字符设备驱动基础篇1——简单的驱动源码分析
- 线程属性 pthread_attr_t
- 关于SQL数据库中cross join 和inner join用法上的区别?
- Mysql索引机制B+Tree
- 消息中间件核心实体(1)