链接:https://ac.nowcoder.com/acm/contest/330/H
来源:牛客网
Applese 和它的小伙伴参加了一个促销的抽奖活动,活动的规则如下:有一个随机数生成器,能等概率生成 0∼99
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 const int mod=1e9+7; 5 6 ll powm(ll a,ll b=mod-2) { 7 ll sum=1,tmp=a%mod; 8 while(b) { 9 if(b&1) sum=sum*tmp%mod; 10 tmp=tmp*tmp%mod; 11 b>>=1; 12 } 13 return sum; 14 } 15 16 int main() { 17 int n,k,x; 18 ll val=powm(100); 19 scanf("%d%d%d",&n,&k,&x); 20 ll p1=(x+1)*val%mod; 21 ll p2=(99-x)*val%mod; 22 ll c=1,ans=0; 23 for(int i=0;i<k;i++) { 24 ans=ans+c*powm(p1,i)%mod*powm(p2,n-1-i)%mod; 25 ans=ans%mod; 26 c=c*(n-i-1)%mod*powm(i+1)%mod; 27 } 28 printf("%lld",ans); 29 }
原文:https://www.cnblogs.com/ACMerszl/p/10349299.html