博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Violet]樱花/阶乘分解
阅读量:4664 次
发布时间:2019-06-09

本文共 2101 字,大约阅读时间需要 7 分钟。

又到了一年樱花盛开的时节。Vani 和妹子一起去看樱花的时候,找到了一棵大大的樱 花树,上面开满了粉红色的樱花。Vani 粗略估计了一下,一共有足足 ! n 片花瓣。

Vani 轻柔地对她说:“你知道吗?这里面的一片花瓣代表着你,我从里面随机摘一片,能和你相遇的概率只有1/n!那么小。我该是多么的幸运,才让你今天这么近地站在我面前。

相信我,我一定会把这亿万分之一的缘分变为永远。”

粉红的樱花漫天飞舞,妹子瞬间被 Vani 感动了。她轻轻地牵起了他的手,和他相依而 坐。这时,她突然看到田野的尽头也长着两棵樱花树,于是慢慢地把头靠在 Vani 的肩上,在他耳边低语:“看到夕阳里的那两棵樱花树了吗?其中一棵树上的一片花瓣是你,另一棵树上的一片花瓣是我,如果有人从这棵摘下一片,从那棵采下一瓣,我们相遇的概率会不会正好是1/n!呢?”

Vani 的大脑飞速运作了一下,立即算出了答案。正要告诉妹子,她突然又轻轻地说:“以 前你总是说我数学不好,但是这种简单的题我还是会算的。你看假如左边那棵树上有 x片花瓣,右边那个有 y 片花瓣,那么我们相遇的概率不就是1/x+1/y么,不过有多少种情况能使

它正好可以等于1/n!呢?这个你就帮我算一下吧~”

显然,面对天然呆的可爱妹子,Vani 不但不能吐槽她的渣数学,而且还要老老实实地 帮她算出答案哦。

题目描述

求不定方程

1/x+1/y=1/n!

的正整数解(x,y)的数目。

输入格式

一个整数n。

输出格式

一个整数,表示有多少对 (x,y) 满足题意。答案对10^9+7取模。


秒速五厘米,那是樱花飘落的速度,那么怎样的速度,才能走完我与你的距离

 

1.化简可得(x+y)*(n!)=xy; [式子1]

 根据原式我们知道x,y>(n!) 
 设x=(n!)+c;y=(n!)+d;
 代入式子1得
 c*d=(n!)*(n!)
 也就是说我们要求(n!)*(n!)的约数个数

2.我们先用线性筛一遍质数

根据算术基本定理:每个大于1的均可写为质数的积

那么他的约数个数就是指选取其中任意个质因数组合,论有多少种方法

#include
#define re return#define ll long long#define inc(i,l,r) for(ll i=l;i<=r;++i) using namespace std;template
inline void rd(T&x){ char c;bool f=0; while((c=getchar())<'0'||c>'9')if(c=='-')f=1; x=c^48; while((c=getchar())>='0'&&c<='9')x=x*10+(c^48); if(f)x=-x;}const int maxn=1000001;ll n,ans=1,num;int cnt[maxn],notprime[1000005],prime[1000005];inline void Prime(){ inc(i,2,n) { if(!notprime[i]) { prime[++num]=i; } for(int j=1;j<=num;++j) { if(prime[j]*i>n)break; notprime[prime[j]*i]=1; if(i%prime[j]==0)break; } }}int main() { rd(n); Prime(); inc(i,1,num) { for(int j=prime[i];j<=n;j+=prime[i]) { int x=j; while(x%prime[i]==0) { ++cnt[i]; x/=prime[i]; } } cnt[i]<<=1; } inc(i,1,num) ans=(ans*(cnt[i]+1))%1000000007; //加一的原因是因为可以选1~cnt[i]个,也可以不选 printf("%d",ans); re 0;}

 

 

正确的数学姿态是:我们发现N!中质数因子p的个数,就是1~N中每个数含有的质因数p个数.既然如此的话,那么我们发现,至少有一个质因子p的显然有n/p个,而至少有两个质因子p数的显然是有(n/p)/p个

 

转载于:https://www.cnblogs.com/lsyyy/p/11415168.html

你可能感兴趣的文章
Mircrosoft 邮箱帐号的故事
查看>>
【DL】几种参数优化方法的比较
查看>>
倒水问题
查看>>
Linux学习笔记18——信号1
查看>>
rocketmq,zookeeper,redis分别持久化的方式
查看>>
Loader类
查看>>
cocos2d-x中Touch事件使用
查看>>
关于本地服务器localhost请求Forbidden解决办法
查看>>
python核心编程(第一周)
查看>>
MySQL学习笔记:repeat、loop循环
查看>>
[iBoard 电子学堂][第二卷 C程序设计语言 ]第一篇 C语言简介
查看>>
SSD5_ Exercise 2分析
查看>>
seajs源码分析
查看>>
Linux中Postfix邮件WebMail配置(七)
查看>>
springMVC 中 webuploader同时上传多个文件
查看>>
孔乙己(转)
查看>>
[原创] c/c++ 的 extern ""C"
查看>>
Java进程通讯
查看>>
redis工具类
查看>>
P1115 最大子段和
查看>>