51nod 1189 阶乘分数
来源:互联网 发布:php sendmail 配置 编辑:程序博客网 时间:2024/05/16 17:10
(x-n!)*(y-n!)=(n!)^2
分解 n! 的质因数即可。分解时,需要优化下。
#include<bits/stdc++.h>using namespace std;const int MAXN=1000100;const long long mod=1e9+7;int npri[MAXN],prime[MAXN],sum[MAXN];long long powmod(long long x,long long p){long long ret=1;while(p){if(p&1)ret=x*ret%mod;x=x*x%mod;p>>=1;}return ret;}int main(){long long i,j,n,tmp,ans,prisum=0;for(i=2;i<MAXN;i++){if(!npri[i]){prime[prisum++]=i;for(j=i+i;j<MAXN;j+=i)npri[j]=1;}}while(~scanf("%lld",&n)){memset(sum,0,sizeof(sum));for(i=0;i<prisum;i++){tmp=n;while(tmp){sum[i]+=tmp/prime[i];tmp/=prime[i];}}ans=1;for(i=0;i<prisum;i++){ans=(ans*((sum[i]<<1)+1))%mod;}printf("%lld\n",(ans+1)*powmod(2,mod-2)%mod);}}
0 0
- 51 nod 1189 阶乘分数
- 51nod 1189 阶乘分数
- 【51Nod 1189】阶乘分数
- 51Nod-1189-阶乘分数
- 51nod 1189 阶乘分数
- 51nod 1189 阶乘分数
- 51Nod 1189 阶乘分数 (数论)
- [数论] 51Nod 1189 阶乘分数
- [51Nod 1189阶乘分数]数学
- 51nod 1189 阶乘分数(阶乘素因子分解)
- 51nod 1189 阶乘分数(分解质因数)
- 【51 nod 1189】【素数+整数唯一分解定理】阶乘分数
- 51nod 1189 阶乘分数 [因子个数+逆元]【数论】
- 51nod-阶乘分数-阶乘数质因数分解/组合计数
- 51 NOD 1189 阶乘分数(素因子分解+推公式+求逆元)
- 51nod 1189 阶乘分数 (质因子分解,因子个数)
- 51nod 1189 阶乘分数 (分解质因子加上逆元,乘法逆元基本意思)
- 1月2日 51 Node 1189 阶乘分数
- 用ImageSwitcher实现图片动态切换
- 48位蓝牙地址转换成字符串
- 思维习惯,比学习技巧更重要
- MAC通过命令行开关 ftp
- 有情况下,这可能是有用的.
- 51nod 1189 阶乘分数
- Socket简介及客户端服务器连接实例
- Win API串口通信原理及读写与操作
- mysql锁表
- 【python3.5问题解决】python3.5安装pygame
- 在Eclipse中配置并使用UI控件CardView
- 操作系统与网络实现 之十九(乙)
- ros与vrep通信:ROS Indigo+ubuntu14.04.4+V-REP_PRO_EDU_V3_3_1_64_Linux
- 不想回到传统的纯编程了。