国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > UVA - 10375 - Choose and divide (组合数)

UVA - 10375 - Choose and divide (组合数)

来源:程序员人生   发布时间:2015-07-31 07:57:12 阅读次数:3178次


题目传送:UVA - 10375


思路:用double存答案,不过要注意是边乘边除,这样不会爆double,还有记得乘的时候要把int转换成double


AC代码:

#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <cmath> #include <queue> #include <stack> #include <vector> #include <map> #include <set> #include <deque> #include <cctype> #define LL long long #define INF 0x7fffffff using namespace std; int main() { int p, q, r, s; while(scanf("%d %d %d %d", &p, &q, &r, &s) != EOF) { double ans = 1; int len = max(p, r); for(int i = 1; i <= len; i ++) { if(i <= q) { ans *= (p * 1.0 - q + i) / i; } if(i <= s) { ans *= i * 1.0 / (r - s + i); } } printf("%.5lf ", ans); } return 0; }



















生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生