阶乘之和
来源:互联网 发布:赤狐crm软件下载 编辑:程序博客网 时间:2024/04/29 16:40
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
- 第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
2910
- 样例输出
YesNo
n<1000000,只要列出10以内的阶乘就可以了,但是要在一些数中找出几个数等于n让我不知所措
看了讨论区,才有了思路,其实很简单,举个栗子,假如n为7 ,往前找小的减,那么7-6=1,然后1-1==0
那么7 =6+1.
代码;
#include<iostream>#include<algorithm>#include<cstring>#include<stdio.h>using namespace std;int a[11]={1};void jc(int x){a[x]=a[x-1]*x;}int main(){int i,T,n;for (i=1;i<10;i++) jc(i);cin>>T;while (T--){cin>>n;for (i=10;i>=1;i--){if (n-a[i]>=0){n=n-a[i];}if (n==0){cout<<"Yes"<<endl;break;}}if (n) cout<<"No"<<endl;} return 0;}
0 0
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 【阶乘之和】
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- 阶乘之和
- [BZOJ2212][Poi2011]Tree Rotations(线段树合并)
- PKU 2115 C Looooops(拓展欧几里德)
- eclipse中如何查看jdk源码
- sqlmap --tamper 绕过WAF脚本分类整理
- 学习笔记:关于Linux主机将编译产生的模块导入目标板的一些基本步骤
- 阶乘之和
- 【职业生涯】时间管理
- JavaScript cookie()的使用
- bootstrap-table相关参数的解释
- static及final知识点整理
- 夕拾算法进阶篇:13)最大连续子序列(动态规划DP)
- algorithm analysis 开坑1
- 顺序表应用8:最大子段和之动态规划法
- String如何智能计算长度