做外围的都上什么网站找,设计网站要多久,做网站发现是传销,广州工程建设信息网站题目描述很简单,就是求两个组合数的商.可是数字范围很大,肯定不能直接计算.
因此要用到唯一分解定理,即将结果全部表示为素因子的幂的形式.
#includecstdio
#includecstring
#includealgorithm
#includeclimits
#includecctype
#inc…题目描述很简单,就是求两个组合数的商.可是数字范围很大,肯定不能直接计算.
因此要用到唯一分解定理,即将结果全部表示为素因子的幂的形式.
#includecstdio
#includecstring
#includealgorithm
#includeclimits
#includecctype
#includequeue
#includeset
#includecmathusing namespace std;typedef long long ll;
const int INF0x3f3f3f3f;
const int MAXN1e45;
bool check[MAXN];
int prime[MAXN];
int cnt[MAXN];
int tot;
int p,q,r,s;void creat_prime()
{tot0;for(int i2;iMAXN;i){if(!check[i]) prime[tot]i;for(int j0;jtot prime[j]*iMAXN ;j){check[prime[j]*i]true;if(i%prime[j]0) break;}}
}void add(int l,int r,int d)
{for(int il;ir;i){int ti;for(int j0;jtot;j){while(t%prime[j]0){cnt[j]d;t/prime[j];}if(t1) break;}}
}int main()
{creat_prime();while(~scanf(%d%d%d%d,p,q,r,s)){memset(cnt,0,sizeof(cnt));add(1,r-s,1);add(q1,p,1);add(1,p-q,-1);add(s1,r,-1);double ans1.0;for(int i0;itot;i){ans*pow(prime[i],cnt[i]);}printf(%.5f\n,ans);}return 0;
}