例10-3 uva10375(唯一分解定理)
来源:互联网 发布:des 算法 函数原理图 编辑:程序博客网 时间:2024/06/06 11:36
题意:已知C(m,n) = m!/(n!(m-n)!),已知p,q,r,s,求C(p,q)/C(r,s)
思路:
全部分解成质因子,相乘则加,除则减
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>#include <map>#include <vector>using namespace std;typedef long long ll;typedef unsigned long long ull;const int N =10001;vector<int>prime;int pri[N];int num[N];void getprime(){ memset(pri,1,sizeof(pri)); for(int i = 2; i <= N; i++) { if(pri[i]) { prime.push_back(i); for(int j = i+i; j <= N; j+=i) pri[j] = 0; } }}void add_factorial(int n,int d) //{ for(int i = 1;i <= n;i++) { int tt = i; for(int j = 0;j < prime.size();j++) { while(tt % prime[j] == 0) { num[j]+=d; tt /= prime[j]; } if(tt == 1) break; } }}int main(){ int p,q,r,s; getprime(); while(scanf("%d%d%d%d",&p,&q,&r,&s) != EOF) { memset(num,0,sizeof(num)); add_factorial(p,1); add_factorial(q,-1); add_factorial(p-q,-1); add_factorial(r,-1); add_factorial(s,1); add_factorial(r-s,1); double ans = 1.0; for(int i = 0;i < prime.size();i++) { ans *= pow(prime[i],num[i]); } printf("%.5lf\n",ans); } return 0;}
0 0
- 例10-3 uva10375(唯一分解定理)
- uva10375(唯一分解定理)
- UVa10375(唯一分解定理)
- uva10375(唯一分解定理)
- UVA10375唯一分解定理
- 紫书例题10-3 Uva10375 唯一分解定理
- UVA10375唯一分解定理运用
- 唯一分解定理 (Choose and Divide Uva10375)
- uva10375(唯一分解定理) Choose and divide
- uva10375 Choose and Divide(唯一分解定理)
- uva10375 选择与除法 唯一分解定理
- UVA10375 Choose and Divide (唯一分解定理)
- Uva10375 Choose and divide(数论、唯一分解定理、快速幂)
- 例10-6 uva1635(唯一分解定理)
- 【数论】Choose and Divide, UVa10375 【组合数学】【唯一分解定理】【精度】
- 唯一分解定理(数论)
- uva10791(唯一分解定理)
- 质因数分解(唯一分解定理)
- codevs2924数独挑战 深度优先搜索
- 大话离散时间信号处理(二)
- 吃糖果
- Android 应用程序的优先级和进程状态
- SPOJ Query on a tree (树链剖分 + 线段树)
- 例10-3 uva10375(唯一分解定理)
- nios ii avalon结构中的按键中断如何配置!
- mysql中文存入到数据库乱码
- ActionBar之添加下拉导航栏
- POI 简单了解
- 第一阶段总结
- 安装weiphp遇到的问题
- pyhon中常见的文件处理
- 无法打开物理文件 操作系统错误 5:拒绝访问 SQL Sever