Codeup1085: 阶乘的和
2024-08-31 01:36:44
题目描述
有些数可以表示成若干个不同阶乘的和。例如,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;
}
最新文章
- Jquery制作--焦点图左右轮播
- OpenCascade Draw Test Harness
- SpringMVC学习(二)
- Windows自带.NET Framework版本大全
- TYVJ 1074 武士风度的牛
- Openwrt 初探
- C#中字符串与byte[]相互转换
- 分享一个安卓中异步获取网络图片并自适应大小的第三方程序(来自github)
- Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)
- java去全半角空格,trim(), replaceAll("; +";,";";),replaceAll(";\\s*";, ";";), replaceAll("; | ";, ";";)
- File字节流
- winPcap编程之获取适配器信息(二)
- 玩转Spring Cloud之配置中心(config server &;config client)
- Sql的行列(纵横表)转换
- 从零开始学 Web 之 DOM(七)事件冒泡
- 安卓程序代写 网上程序代写[原]Android中的回调Callback
- 使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)
- iOS Terminating app due to uncaught exception &;#39;NSInternalInconsistencyException&;#39;, reason: &;#39;unable to
- 基于Docker搭建LNMP环境(转)
- rsa 公钥 私钥