Codeup1085: 阶乘的和
来源:互联网 发布:linux线程间通信方式 编辑:程序博客网 时间:2024/05/22 11:39
题目描述
有些数可以表示成若干个不同阶乘的和。例如,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;}
阅读全文
0 0
- Codeup1085: 阶乘的和
- 阶乘的和
- 阶乘和 的算法
- 阶乘的和
- 阶乘数列的和
- 1085:阶乘的和
- 求阶乘的和
- 阶乘的和
- 阶乘的和
- 计算阶乘的和
- 1到n的和、阶乘以及阶乘的和
- 求n的阶乘和
- 求链表结点的阶乘和
- 求单链表结点的阶乘和
- 1050: 阶乘的累加和
- 34:求阶乘的和
- 阶乘和阶乘求和
- 阶乘和
- 【数据库课程】研讨02
- C/C++ IDE
- Android MarginLeft与MarginStart的区别
- Spring Boot 启动自定义图
- 数据结构实验之排序四:寻找大富翁
- Codeup1085: 阶乘的和
- laravel中将查询的对象转换为多维数组的函数
- MySQL数据库备份和恢复方案小结
- SQLServer 每隔10分钟取一条数据
- BottomTabBar
- maven 入门详解
- CSMA/CD
- 2017.12.16【NOIP提高组】模拟赛B组
- 20.删除单词后缀