POJ 1775 Sum of Factorials 数论,基础题
2018-06-17 23:55:23来源:未知 阅读 ()
输入一个小于1000000的正整数,是否能表达成式子:a1!+a2!+a3!+...+an (a1~an互不相等)。
因为10!>1000000,所以先打1~10的阶乘表。从a[10]开始递减判断。(a[0]=0!=1)
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int main() { //freopen("in.txt","r",stdin); int n; int a[11]; memset(a,0,sizeof(a)); a[0]=a[1]=1; for(int i=2; i<=10; i++) a[i]=i*a[i-1]; while(scanf("%d",&n)) { if(n<0) break; bool flag=true; if(n!=0) for(int i=10; i>0; i--) { if(n<=a[i] && n>=a[i-1]) n-=a[i-1]; if(n==0) { flag=false; break; } } if(flag) printf("NO\n"); else printf("YES\n"); } return 0; }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:c/c++笔记--2
- POJ-3278 2020-04-01
- Max Sum 2020-02-17
- Asteroids!_poj2225 2020-02-09
- poj-1753题题解思路 2020-01-26
- bzoj3944 Sum 2019-12-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash