[数论] 51Nod 1189 阶乘分数
来源:互联网 发布:软件开发前期准备工作 编辑:程序博客网 时间:2024/04/30 10:50
(X-N!)(Y-N!) = (N!)^2
#include<cstdio>#include<cstdlib>#include<algorithm>using namespace std;typedef long long ll;inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fread(buf,1,100000,stdin); if (p1==p2) return EOF; } return *p1++;}inline void read(int &x){ char c=nc(),b=1; for (;!(c>='0' && c<='9');c=nc()) if (c=='-') b=-1; for (x=0;c>='0' && c<='9';x=x*10+c-'0',c=nc()); x*=b;}const int N=1000005;int prime[N],vst[N],num;inline void Pre(int maxn){ for (int i=2;i<=maxn;i++){ if (!vst[i]) prime[++num]=i; for (int j=1;j<=num && (ll)prime[j]*i<=maxn;j++){ vst[prime[j]*i]=1; if (i%prime[j]==0)break; } }}int n;int q[N];ll ans=1;const int P=1e9+7;const int INV=5e8+4;int main(){ scanf("%d",&n); Pre(n); for (int i=1;i<=num;i++){ int tem=prime[i]; q[i]=n/tem; while ((ll)tem*prime[i]<=n) tem*=prime[i],q[i]+=n/tem; (ans*=(2*q[i]+1))%=P; } printf("%lld\n",((ans+P-1)%P*INV%P+1)%P); return 0;}
0 0
- 51Nod 1189 阶乘分数 (数论)
- [数论] 51Nod 1189 阶乘分数
- 51nod 1189 阶乘分数 [因子个数+逆元]【数论】
- 51 nod 1189 阶乘分数
- 51nod 1189 阶乘分数
- 【51Nod 1189】阶乘分数
- 51Nod-1189-阶乘分数
- 51nod 1189 阶乘分数
- 51nod 1189 阶乘分数
- [51Nod 1189阶乘分数]数学
- 51nod 1189 阶乘分数(阶乘素因子分解)
- 51nod 1189 阶乘分数(分解质因数)
- 【51 nod 1189】【素数+整数唯一分解定理】阶乘分数
- 51nod-阶乘分数-阶乘数质因数分解/组合计数
- 51 NOD 1189 阶乘分数(素因子分解+推公式+求逆元)
- 51nod 1189 阶乘分数 (质因子分解,因子个数)
- 51Nod 1057 N的阶乘(数论)
- 51Nod 1056 - N的阶乘的长度(数论)
- linq 查询 过滤数据中某个值是否在数组中
- 苹果列出了最新App被拒十大原因,你中枪了吗?
- 根据地址查询经纬度IP(百度地图)
- html:javascript:void(0)
- 玩转Android Camera开发(二):使用TextureView和SurfaceTexture预览Camera 基础拍照demo
- [数论] 51Nod 1189 阶乘分数
- CentOS7 安装mysql
- Calendar
- Android 的线程(AsyncTask、IntentService详解)和线程池
- Zynq 自定义模块中断触发实例
- reason: 'UIPopoverPresentationController (<UIPopoverPresentationController: 0x7f223f40>)。。。
- 玩转Android Camera开发(三):国内首发---使用GLSurfaceView预览Camera 基础拍照demo
- ora-01653表空间大小不足,以验证成功
- 定时 监控 shell 服务宕机自动重启,并发送短信通知