题目描述

有些数可以表示成若干个不同阶乘的和。例如,9=1!+2!+3!。小明对这些数很感兴趣,所以他给你一个正整数n,想让你告诉他这个数是否可以表示成若干个不同阶乘的和。

输入

输入包含多组测试数据。每组输入为一个非负整数n(n<=1000000),当n为负数时,输入结束。

输出

对于每组输入,如果n可以表示成若干个不同阶乘的和,则输出YES,否则输出NO。

样例输入

9

-1

样例输出

YES


和HDU2021类似,只不过需要先算出小于1000000的最大的阶乘

#include<stdio.h>
int main()
{
int a[11];
a[0]=1;
int n,i;
for(i=1;i<11;i++)
{
a[i]=1;
int s=i;
for(int j=s;j>0;j--)
{
a[i]*=j;
}
}
while(scanf("%d",&n)!=EOF)
{
int flag=0;
if(n<0) break;
if(n==0) printf("NO\n");
else
{
for(i=9;i>=0;i--)
{
if(n>=a[i])
{
n-=a[i];
}
if(n==0)
{
flag=1;
break;
}
}
if(flag!=0) printf("YES\n");
else printf("NO\n");
flag=0;
}
}
return 0;
}

Codeup1085: 阶乘的和的更多相关文章

  1. C语言 · 阶乘计算 · 基础练习

    问题描述 输入一个正整数n,输出n!的值. 其中n!=1*2*3*-*n. 算法描述 n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法.使用一个数组A来表示一个大整数a,A[0]表 ...

  2. Java 计算N阶乘末尾0的个数-LeetCode 172 Factorial Trailing Zeroes

    题目 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in ...

  3. 关于for循环的几个小练习,例如奇数偶数,阶乘,求和等

    1 .100以内的奇数和偶数 var js = ""; var os = ""; for(var i=1;i<101;i++) { if(i%2 == 0 ...

  4. [LeetCode] Factorial Trailing Zeroes 求阶乘末尾零的个数

    Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in log ...

  5. 求单链表L各结点的阶乘之和(c语言)

    链表需要用到指针 阶乘需要用到递归 链表中的注意事项: 1.链表L是否等于NULL ----------是循环结束的条件 2.链表L->Data ---------取链表L中各个结点的值 3.L ...

  6. 洛谷 P2726 阶乘 Factorials Label:Water

    题目背景 N的阶乘写作N!,表示小于等于N的所有正整数的乘积. 题目描述 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了. 你的任务是找到阶乘最前面的非零位. ...

  7. js实现阶乘

    //while循环实现function calNum(n) { var product = 1; while(n > 1){//1*5*4*3*2,1*n*(n-1)*(n-2)*...*2 p ...

  8. 洛谷P1134 阶乘问题[数论]

    题目描述 也许你早就知道阶乘的含义,N阶乘是由1到N相乘而产生,如: 12! = 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x 10 x 11 x 12 = 479,001, ...

  9. Random随机类(11选5彩票)BigInteger大数据类(华为面试题1000的阶乘)

    先上Java Web图 为了简化叙述,只写Java代码,然后控制台输出 使用[Random类]取得随机数 import java.util.Random; public class Fir { pub ...

随机推荐

  1. Jmeter JDBC的使用

    1.当我们在对接口进行断言或进行多个接口串联时,常常会需要从DB查询数据来做辅助,连接JDBC需要有支持DB的jar包:官网下载地址:https://dev.mysql.com/downloads/c ...

  2. English trip -- VC(情景课)3 C Do you have a sister?(maple verstion)

    xu言: 温故而知新,可以为师矣.不要小瞧重复的东西,不同的老师,不同的角度,不同的方法.你就会掌握不同的知识~ Review what you have learned and get someth ...

  3. IntelliJ IDEA 阿里巴巴编码插件

    良好的编码习惯的从这个IDEA插件开始  这是根据阿里巴JAVA开发规范.PDF 开发的代码提示插件 具体提示如下   这里可以扫描你项目下不规范的代码 如果侧插件CPU太卡的话也可以点击右边的 ...

  4. LeetCode--121--卖卖股票的最佳时机

    问题描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出 ...

  5. Python基础--列表、元组

    一.什么是列表.元组 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见 ...

  6. 最小生成树 - 普里姆 - 边稠密 - O(N ^ 2)

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #define N 1005 #def ...

  7. Jpa实体类生成图解

    Jpa实体类生成图解   创建连接     创建项目  

  8. SPOJ UMR 10A 计算几何

    DES:顺时针给出构成凸多边形的点.然后有Q个询问任意给出两个点的编号,询问由这两个点的连线将多边形分成的两部分面积较小的部分面积大小. 比赛时直接每次连线后求多边形求面积超时了.正确解法是求出利用叉 ...

  9. html <form>相关表单

    action属性规定提交表单时,向何处发送表单数据 radio 分组 只要name一样,就是一组,即一组中只能选择一个. <input type="radio" id=&qu ...

  10. 数据仓库建模与ETL的实践

    一.Data仓库的架构 Data仓库(Data Warehouse DW)是为了便于多维分析和多角度展现而将Data按特定的模式进行存储所建立起来的关系型Datcbase,它的Data基于OLTP源S ...