[BZOJ2721]樱花 阶乘标准分解式
来源:互联网 发布:系统数据流程图 编辑:程序博客网 时间:2024/04/30 11:35
首先根据并联电路电阻的关系(逃,得到y>n!。
设y=n!+d,解得x=(n!)^2/d+d,所以只要d|n!即可。
于是筛出素数,n!中素因子pi的次数为[n/p]+[n/p^2]+[n/p^3]….,按这个方法对n!分解。最终答案即为n!的因数个数,为Π(2*pi+1)。
代码:
#include<iostream>#include<cstdio>using namespace std;const int mod=1000000007;int n,pri[100010],c[100010],num=0;bool flag[1000010];void getpri(int n){ flag[1]=1; for(int i=2;i<=n;i++) { if(!flag[i]) pri[++num]=i; for(int j=1;j<=num&&i*pri[j]<=n;j++) { flag[i*pri[j]]=1; if(i%pri[j]==0) break; } }}int main(){ scanf("%d",&n); getpri(n); long long ans=1; for(int i=1;i<=num;i++) { int tmp=n; while(tmp) {c[i]+=tmp/pri[i]; tmp/=pri[i];} c[i]=((c[i]<<1)|1); ans=ans*c[i]%mod; } printf("%lld",ans); return 0;}
阅读全文
0 0
- [BZOJ2721]樱花 阶乘标准分解式
- 【Violet 5】【BZOJ2721】樱花
- BZOJ2721 樱花 [线性筛]
- [bzoj2721][Violet 5]樱花
- 【bzoj2721】【Violet 5】樱花【数论】
- [BZOJ2721][Violet 5]樱花(数论)
- 阶乘的标准分解式中素因数的指数
- 阶乘的标准分解式中素因数的指数
- 1484 分解N阶乘
- 阶乘质因数分解
- [codevs2959]阶乘质因数分解
- 【模板】阶乘分解
- 樱花
- 樱花
- bzoj 2721: [Violet 5]樱花 (线性筛+质因数分解)
- 阶乘的整数分解 fzu1753
- 阶乘的素因子分解
- n阶乘的素数分解
- 用Arduino剖析PWM脉宽调制
- <leetcode>496. Next Greater Element I
- 逻辑斯蒂回归与梯度下降算法
- DP 添加正负号求余数POJ1745
- 扫雷游戏
- [BZOJ2721]樱花 阶乘标准分解式
- C#你必须知道的25个基础概念
- 初来
- (M)Backtracking:47. Permutations II
- centos 6.5安装nodejs全记录
- java内存分配规则
- 属性动画案例:雅虎加载视差动画
- redis
- 欢迎使用CSDN-markdown编辑器