UVA 10375 唯一分解定理

2021-08-21 07:22:14 字數 1103 閱讀 3371

題意:求c(m,n)/c(r,s)

思路:先對素數打表,構造階乘的素數,設定乙個e陣列用來儲存素數對應序號i的個數,階乘作為分子是+1,作為分母是-1,最後計算的時候直接ans*=pow(素數,對應的個數)即可

#includeusing namespace std;

#define inf 0x3f3f3f3f

#define ll long long

#define fo freopen("in.txt","r",stdin)

#define fc fclose(stdin)

#define fu0(i,n) for(i=0;i=0;i--)

#define fd1(i,n) for(i=n;i>0;i--)

#define mst(a,b) memset(a,b,sizeof(a))

#define sd(n) scanf("%d",&n)

#define sdd(n,m) scanf("%d %d",&n,&m)

#define ss(s) scanf("%s",s)

#define sddd(n,m,k) scanf("%d %d %d",&n,&m,&k)

#define pans() printf("%d\n",ans)

#define all(a) a.begin(),a.end()

#define sc(c) scanf("%c",&c)

#define we(a) while(scanf("%d",&a)!=eof)

const int maxn=200005;

const double eps=1e-8;

int prime[maxn],check[maxn],e[maxn];

void solve(int n,int d)

if(t==1)

break;}}

}int main()

check[i*prime[j]]=1;

if(i%prime[j]==0)

break;}}

while(cin>>p>>q>>r>>s)

cout<}

return 0;

}

uva 10375 唯一分解定理

已知c m,n m n m n 輸入整數p,q,r,s p q,r s,p,q,r,s 10000 計算c p,q c r,s 輸出保證不超過10 8,保留5位小數 根據唯一分解定理,n 可以分解為若干個質數相乘。模擬分解這個式子 include using namespace std define...

UVa10375(唯一分解定理)

例題10 3 選擇與除法 choose and divide,uva10375 已知c m,n m n m n 輸入整數p,q,r,s p q,r s,p,q,r,s 10000 計 算c p,q c r,s 輸出保證不超過108,保留5位小數。分析 本題正是唯一分解定理的用武之地。組合數c m,n...

uva10375 選擇與除法 唯一分解定理

對數進行分解方便有效的約分。唯一分解定理 乙個數總是有素數的乘積構成。include include include include include using namespace std const int maxn 10000 vector primes int e maxn 乘以或除以n.d ...