洛谷——P1009 阶乘之和
P1009 阶乘之和
题目描述
用高精度计算出S=1!+2!+3!+…+n!(n≤50)
其中“!”表示阶乘,例如:5!=5*4*3*2*1。
输入输出格式
输入格式:
一个正整数N。
输出格式:
一个正整数S,表示计算结果。
输入输出样例
3
9 高精加+高精乘
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N 1000010
using namespace std;
int l1,l2,n,ans1[N],ans2[N];
int read()
{
,f=; char ch=getchar();
;ch=getchar();}
+ch-',ch=getchar();
return x*f;
}
int work1(int x)
{
;i<=l1;i++) ans1[i]*=x;
;i<=l1;i++) ans1[i+]+=ans1[i]/,ans1[i]%=;
]) ++l1;
) ans1[l1+]=ans1[l1]/,ans1[l1]%=,++l1;
while(!ans1[l1]) l1--;
}
int work2()
{
;i<=l2;i++)
{
ans2[i]+=ans1[i];
ans2[i+]+=ans2[i]/;
ans2[i]=ans2[i]%;
}
while(l2<l1)
{
ans2[++l2]+=ans1[l2];
ans2[l2+]+=ans2[l2]/;
ans2[l2]=ans2[l2]%;
}
]) ++l2;
]>) ans2[l2+]=ans2[l2]/,ans2[l2]%=,++l2;
while(!ans2[l2]) --l2;
}
int main()
{
n=read();ans1[]=;
l1=l2=;
;i<=n;i++)
{
work1(i);
work2();
}
;i--)
printf("%d",ans2[i]);
;
}
洛谷——P1009 阶乘之和的更多相关文章
- 洛谷P1009 阶乘之和 题解
想看原题请点击这里:传送门 看一下原题: 题目描述 用高精度计算出S=!+!+!+…+n! (n≤) 其中“!”表示阶乘,例如:!=****××××. 输入格式 一个正整数N. 输出格式 一个正整数S ...
- Java实现 洛谷 P1009 阶乘之和
import java.util.Scanner; public class 阶乘之和 { public static void main(String[] args) { Scanner sc = ...
- 洛谷 P1009 阶乘之和 Label:高精度
题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...
- 洛谷 P1009 阶乘之和
题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...
- P1009 阶乘之和
P1009 阶乘之和 题目提供者洛谷OnlineJudge 标签数论(数学相关)高精1998NOIp提高组NOIp普及组 难度普及- 通过/提交1139/3791 提交该题 讨论 题解 记录 题目描述 ...
- AC日记——阶乘之和 洛谷 P1009(高精度)
题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=5*4*3*2*1. 输入输出格式 输入格式: 一个正整数N. 输出格式: 一个正整数S,表示计算结 ...
- P1009 阶乘之和 洛谷
https://www.luogu.org/problem/show?pid=1009 题目描述 用高精度计算出S=1!+2!+3!+…+n!(n≤50) 其中“!”表示阶乘,例如:5!=54321. ...
- 【洛谷】P1009阶乘之和
题目链接:https://www.luogu.org/problemnew/show/P1009 题意:给一个整数n(n<50),求$ \sum^{n}_{i=1} i! $ 题解:我..拿py ...
- 【洛谷】P1009 阶乘之和——高精度算法
题目描述 用高精度计算出S = 1! + 2! + 3! + - + n! ( n ≤ 50 ) S = 1! + 2! + 3! + - + n! ( n ≤ 50 ) 其中"!&qu ...
随机推荐
- fis难用的地方
1. 刷新不同步,刷新的结果是前一次的修改结果2. 刷新时间非常长3. 有些代码打包不兼容,例如tween这个库,有函数yoyo:function yoyo(yoyo){}的形式,不能正确打包,会报[ ...
- wait for it
- [BZOJ2090/2089] [Poi2010]Monotonicity 2/Monotonicity 树状数组优化dp
这个dp乍看不科学,仔细一看更不科学,所以作为一个执着BOY,我决定要造数据卡死波兰人民,但是我造着造着就......证出来了......... 这个就是把 < > =分开讨论每次找到f[ ...
- 如何在数据访问层上提高js的执行效率
本文讲到的是如何从数据访问层面上提高JS 代码的执行效率.总的来讲有以下几条原则: 函数中读写局部变量总是最快的,而全局变量的读取则是最慢的: 尽可能地少用with 语句,因为它会增加with 语句以 ...
- boost::algorithm用法详解之字符串关系判断
http://blog.csdn.net/qingzai_/article/details/44417937 下面先列举几个常用的: #define i_end_with boost::iends_w ...
- Step-By-Step: Setting up Active Directory in Windows Server 2016
There are interesting new features now made available in Windows Server 2016 such as time based grou ...
- 固定width但是有间隔
<!DOCTYPE > <html> <head> <title></title> <meta name="name&quo ...
- nodejs与sqlite
//打开数据库var db = new sqlite3.Database('xx.db'); // 关闭数据库db.close(); db.run('xx'); // 数据库对象的run函数可以执行 ...
- Bzoj1692 洛谷P2870 [Usaco2007 Dec]队列变换
Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1570 Solved: 656 Description FJ打算带他的N(1 <= N <= ...
- [ZOJ2341]Reactor Cooling解题报告|带上下界的网络流|无源汇的可行流
Reactor Cooling The terrorist group leaded by a well known international terrorist Ben Bladen is bul ...