AtCoder - 2286 (数论——唯一分解定理)
2024-09-06 09:16:03
题意
求n!的因子数%1e9+7。
思路
由唯一分解定理,一个数可以拆成素数幂之积,即2^a * 3^b *……,n!=2*3*……*n,所以计算每个素因子在这些数中出现的总次数(直接对2~n素因子分解即可),再用唯一分解定理公式,因子数=(a+1)*(b+1)*……。
代码
#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
#define ll long long
const int N=200005;
const int mod=1e9+7;
const double eps=1e-8;
const double PI = acos(-1.0);
#define lowbit(x) (x&(-x))
int a[N];
int main()
{
std::ios::sync_with_stdio(false);
ll n;
cin>>n;
for(int i=2;i<=n;i++)
{
int ii=i;
for(int j=2;j<=i;j++)
{
while(ii%j==0)
{
a[j]++;
ii/=j;
}
}
}
ll ans=1;
for(int i=2;i<=n;i++)
{
// cout<<a[i]<<endl;
ans=(ans*(a[i]+1))%mod;
}
cout<<ans<<endl;
return 0;
}
最新文章
- java的jxl技术导入Excel
- 采访ServiceStack的项目领导Demis Bellot——第1部分(网摘)
- php图片防盗链的小测试
- DNX/ASP.NET 5的xUnit入门向导
- ZooKeeper学习第八期——ZooKeeper伸缩性
- C++实现对树的创建和前中后序遍历
- $modal
- UVA 10943 How do you add? DP
- asp.net 中使用less
- zoj 3708 Density of Power Network
- Java - String 的字面量、常量池、构造函数和intern()函数
- windows 上查看一个命令的退出码
- 【.net】在ASP.NET中,IE与Firefox下载文件名中带中文汉字的文件,文件名乱码的问题
- 如何在windows上调试安卓机谷歌浏览器上的页面
- 添加 vip
- 如何在IntelliJ IDEA中使用Git .ignore插件忽略不必要提交的文件
- CentOS7的一些指令
- Python的Django框架中if标签的相关使用
- git之创建版本库
- Java基于jdbc链接mysql数据库步骤示列