UVA.10375 Choose and divide (唯一分解定理)
来源:互联网 发布:医学统计学简易软件 编辑:程序博客网 时间:2024/05/23 01:18
UVA.10375 Choose and divide (唯一分解定理)
题意分析
首先写出组合数的公式,然后利用唯一分解定理分解每一项,若是在分子,则加一,在分母减一,最后根据分解的结果计算即可。
代码总览
#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <cmath>#define nmax 10005using namespace std;int e[nmax];bool isprime[nmax];vector<int> v;void prime(){ memset(isprime,1,sizeof isprime); v.clear(); for(int i = 2;i<nmax;++i){ if(isprime[i]){ v.push_back(i); for(int j = 2;i*j<nmax;++j) isprime[i*j] = false; } }}void add_to_e(int num,int index){ for(int i = 2;i<=num;++i){ int tmp = i; for(int j = 0;j<v.size();++j){ while(tmp % v[j] == 0){ e[v[j]]+=index; tmp/= v[j]; } if(tmp == 1) break; } }}int p,q,r,s;int main(){ prime(); while(scanf("%d %d %d %d",&p,&q,&r,&s) != EOF){ memset(e,0,sizeof e); add_to_e(p,1); add_to_e(s,1); add_to_e(r-s,1); add_to_e(r,-1); add_to_e(q,-1); add_to_e(p-q,-1); double ans = 1; for(int i = 2;i<nmax;++i){ if(e[i] !=0 ){ ans *= pow(i,e[i]); } } printf("%.5f\n",ans); } return 0;}
阅读全文
0 0
- UVA 10375 Choose and divide(唯一分解定理)
- UVA 10375 - Choose and divide【唯一分解定理】
- Uva 10375 Choose and divide 素数唯一分解定理
- UVA - 10375 Choose and divide (唯一分解定理)
- UVA 10375 Choose and divide(唯一分解定理)
- UVA 10375 Choose and divide (唯一分解定理)
- UVA.10375 Choose and divide (唯一分解定理)
- UVa-10375 Choose and divide 【唯一分解定理】
- Choose and divide唯一分解定理/分解/直接 UVA
- 再看 唯一分解定理 UVA Choose and divide
- uva10375 Choose and Divide(唯一分解定理)
- UVA10375 Choose and Divide (唯一分解定理)
- uvaoj 10375 Choose and divide 唯一分解定理
- Uva10375 Choose and divide(数论、唯一分解定理、快速幂)
- 唯一分解定理 (Choose and Divide Uva10375)
- uva10375(唯一分解定理) Choose and divide
- 10375 - Choose and divide(唯一分解定理的运用 eratosthenes构造素数表)
- 【数论】Choose and Divide, UVa10375 【组合数学】【唯一分解定理】【精度】
- JavaScript_06
- log4j2相关配置说明以及${sys:catalina.home}应用
- java 堆 栈 方法区的简单分析
- 【贪心+ST算法+堆】BZOJ4458[GTY的OJ]题解
- Ubuntu14.04设置静态IP
- UVA.10375 Choose and divide (唯一分解定理)
- 判断一个数是不是2^N次方
- Java正则表达式的语法与示例
- C++11可变模板参数
- 计算几何常用算法总结
- 疑难解答
- 目标追踪-背景分割
- 【IOS学习之常见问题】 app维护可能遇到的问题
- 分析运维数据的一些预处理操作