[BOZJ2721]樱花
2024-08-27 21:10:10
题目求\(\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}\)已知n, x和y的正整数解的个数
设z=\(n!\)
\(\frac{1}{x}+\frac{1}{y}=\frac{1}{z}\)
\(x=\frac{yz}{y-z}\)
令\(t=y-z\)则\(x=\frac{z(t+z)}{t}=\frac{zt+z^2}{t}=z+\frac{z^2}{t}\)
当t为整数时 x,y有整数解
故求出\(z^2\)的因数即可
运用约数和公式和线性筛即可
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll mo=1e9+7;
ll t,ans,tot,x,n;
ll prime[500005],f[1000005];
void init(ll x)
{
t=0;
for(ll i=2;i<=x;i++)
{
if(!f[i])prime[++t]=i;
for(ll j=1;j<=t;j++)
{
if(prime[j]*i>x)break;
f[prime[j]*i]=1;
if(i%prime[j]==0) break;
}
}
}
int main()
{
scanf("%lld",&n);
init(n);ans=1;
for(ll i=1;i<=t;i++)
{
tot=0;x=n;while(x){tot=tot+x/prime[i];x/=prime[i];}
ans=ans*(tot*2+1)%mo;
}
printf("%lld",ans);
return 0;
}
最新文章
- hibernate学习笔记之二 基本环境搭建
- jqGrid插件getCol方法的一个改进
- ./configure,make,make install的作用(转)
- 设置 Firewalld 防火墙控制对系统的访问
- mem 族函数的实现
- HOOK API(二)—— HOOK自己程序的 MessageBox
- CAS单点登录服务器搭建
- 用eclipce编写 MR程序 MapReduce
- Windows下静态库与动态库的创建与使用
- Python学习笔记第二十七周(Bootstrap)
- Web常见安全漏洞-SQL注入
- leetcode — letter-combinations-of-a-phone-number
- Ubuntu16.04下安装破解secureCRT和secureFX的操作记录
- taro 知识点
- [SoapUI] 通过JSONAssert比较两个环境的JSON Response,定制化错误信息到Excel
- Spring之c3p0连接池xml配置和使用举例
- js全局属性 全局变量
- 【BZOJ4036】按位或(Min-Max容斥,FWT)
- K-means + PCA + T-SNE 实现高维数据的聚类与可视化
- MVC Partial页面的使用