zoj 2358,poj 1775 Sum of Factorials(数学题)
//我感觉是题目表述不确切,比如他没规定xi能不能重复,比如都用1,那么除了0,都是YES了
//算了,这种题目,百度来的过程,多看看记住就好
//题目意思:判断一个非负整数n能否表示成几个数的阶乘之和
//这里有一个重要结论:n!>(0!+1!+……+(n-1)!),
//证明很容易,当i<=n-1时,i!<=(n-1)!,故(0!+1!+……+(n-1)!)<=n*(n-1)!=n!.
// 由于题目规定n<=1000000,而10!=3628800>100000,故只需保存前10项的阶乘.
// 有两个需要注意的地方:1>如果题目输入0,按照上面的方法处理得到的结果是"YES",
//而按照题目的意思应该输出"NO",所以需要特别处理.
// 2>题目输入结束的方法是以如果输入的数为负数就结束输入. //10! = 3628800 > 1000000
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std; int main()
{
int n,i;
int fact[];//这里还是要开的大一点。。因为下标从0开始
fact[]=;
for(i=;i<=;i++)
fact[i]=fact[i-]*i; while(scanf("%d",&n)!=EOF)
{
if(n<) break;
if(n==)
printf("NO\n");
else {
for(i=;i>=;i--) //之前错了,是这样的:0!=1 ,也算进去的
{
if(n-fact[i]>=)
n-=fact[i];
}
if(n==)
printf("YES\n");
else
printf("NO\n");
}
}
return ;
}
zoj 2358,poj 1775 Sum of Factorials(数学题)的更多相关文章
- POJ 1775 Sum of Factorials (ZOJ 2358)
http://poj.org/problem?id=1775 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1334 题目大意: ...
- POJ 1775 Sum of Factorials 数论,基础题
输入一个小于1000000的正整数,是否能表达成式子:a1!+a2!+a3!+...+an (a1~an互不相等). 因为10!>1000000,所以先打1~10的阶乘表.从a[10]开始递减判 ...
- POJ 1775 (ZOJ 2358) Sum of Factorials
Description John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, was a Hungarian-American mathematic ...
- ACM:POJ 2739 Sum of Consecutive Prime Numbers-素数打表-尺取法
POJ 2739 Sum of Consecutive Prime Numbers Time Limit:1000MS Memory Limit:65536KB 64bit IO Fo ...
- 每日一九度之 题目1038:Sum of Factorials
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2109 解决:901 题目描述: John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, ...
- ZOJ 1542 POJ 1861 Network 网络 最小生成树,求最长边,Kruskal算法
题目连接:problemId=542" target="_blank">ZOJ 1542 POJ 1861 Network 网络 Network Time Limi ...
- POJ.2739 Sum of Consecutive Prime Numbers(水)
POJ.2739 Sum of Consecutive Prime Numbers(水) 代码总览 #include <cstdio> #include <cstring> # ...
- 九度OJ 1038:Sum of Factorials(阶乘的和) (DP、递归)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1845 解决:780 题目描述: John von Neumann, b. Dec. 28, 1903, d. Feb. 8, 1957, ...
- LightOJ - 1189 - Sum of Factorials
先上题目 Sum of Factorials Time Limit:500MS Memory Limit:32768KB 64bit IO Format:%lld & %llu ...
随机推荐
- [笔记]--在Windows下配置Git
安装就不多说了: 1.ls不能显示中文目录 解决办法:在git/etc/git-completion.bash中增加一行: alias ls='ls --show-control-chars --co ...
- hashCode()和toString()
hashCode函数和toString函数也在Object类中,同样,所有的类都继承了这2个函数. hashCode函数用于生成哈希码,没有参数,返回值为整型 把u的值作为键存入map中,使用get方 ...
- entityFramework使用 codefirst
新建项目 用nuget安装entityFramework,Install-Package Entityframework 建一个model和context //[Table("Custome ...
- EMVTag系列2《磁条等效数据》
Ø 57 磁条2等效数据 L: var. up to 19 -M(必备):此数据必须存在并提供给终端,终端在读应用数据过程中,如果没有读到必备数据,终端中止交易 按GB/T 17552,磁条2的数据 ...
- Redo日志
undo日志有一个潜在的问题,即我们在将书屋改变的所有数据写到磁盘前不能提交该事务.有时,如果让数据库修改暂时只存在于主存中,我们可以节省磁盘IO;只要在崩溃发生时有日志可以恢复,这样做就是安全的. ...
- hdu 1427 速算24点
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1427 速算24点 Description 速算24点相信绝大多数人都玩过.就是随机给你四张牌,包括A( ...
- Android之Activity的四种启动模式
当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中.Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activ ...
- ios中怎么获得当前版本号
NSString *version = [NSBundle mainBundle].infoDictionary[(__bridge NSString *)kCFBundleVersionKey];
- linux之mysqlimport的哪些变态事儿
mysqlimport是MySQL导入数据的工具,高效易用. 但掌握不透彻就会有一些变态事情.mysqlimport --host='laswebapp.mdb.game.yy.com' --port ...
- Git操作指南(2) —— Git Gui for Windows的建库、克隆、上传
本教程将讲述:gitk的Git Gui的部分常用功能和使用方法,包括:建库.克隆(clone).上传(push).下载(pull - fetch).合并(pull - merge). ———————— ...