关注
第三题 组合数 #include <iostream>
#include <vector>
using namespace std;
long long C[51][51] = {0};
void GetC(int maxn)
{
C[0][0] = 1;
for(int i = 1; i <= maxn; ++i) {
C[i][0] = 1;
for(int j = 1; j <= i; ++j){
C[i][j] = C[i-1][j]+C[i-1][j-1];
}
}
}
double getNum(const int *arr, const int n, const int maxNum) {
int gE = 0;
double less = 1.0;
double ret = 0.0;
for(int i = 0; i < n; ++i) {
if(arr[i] >= maxNum) gE++;
else less *= arr[i];
}
for(int k = 1; k <= gE; ++k) {
double cn = C[gE][k];
double tP = 1.0;
for(int i = 0; i < gE - k; ++i) {
tP = tP * (maxNum - 1);
}
ret = ret + cn * tP * less;
}
return ret;
}
int main(){
int n = 0;
int maxNum = 0;
double fengmu = 1.0;
double fengzhi = 1.0;
double ans = 1.0;
int arr[55] = {0};
cin >> n;
GetC(n);
for(int i = 0; i < n; ++i) {
cin >> arr[i];
fengmu *= arr[i];
if(arr[i] > maxNum) maxNum = arr[i];
}
for(int i = 2; i <= maxNum; ++i) {
fengzhi = fengzhi + i * getNum(arr, n, i);
}
ans = fengzhi/fengmu;
printf("%.2lf\n", ans);
return 0;
}
第四题思路应该是对于i , j 坐标求 大于该数的个数,没时间写了
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享

点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 笔试 #
2032861次浏览 23166人参与
# 互联网回暖,腾讯要招5000人! #
6138次浏览 90人参与
# 腾讯音乐26届实习 #
117854次浏览 895人参与
# 牛友故事会 #
170034次浏览 2865人参与
# 技术岗笔试题求解 #
25400次浏览 385人参与
# 金融银行面经 #
60675次浏览 482人参与
# 腾讯2025实习生招聘 #
16444次浏览 649人参与
# 两会劳动法放大招 #
28294次浏览 478人参与
# 双非应该如何逆袭? #
23559次浏览 822人参与
# bilibili求职进展汇总 #
42716次浏览 443人参与
# 安克创新求职进展汇总 #
20045次浏览 158人参与
# 应届生应该先就业还是先择业 #
84132次浏览 498人参与
# 投格力的你,拿到offer了吗? #
63490次浏览 502人参与
# 我的省钱小妙招 #
5489次浏览 168人参与
# 24届通信硬件秋招薪资爆料 #
75502次浏览 428人参与
# 电网笔面经互助 #
28378次浏览 294人参与
# 能让你振作起来的一句话 #
43257次浏览 365人参与
# 你投递的公司有几家约面了? #
57129次浏览 415人参与
# 如果中了500万,你会离职吗? #
59207次浏览 438人参与
# 网易有道工作体验 #
4885次浏览 19人参与
# 生物制药/化工公司爆料 #
14426次浏览 65人参与
# 我想象的实习vs现实的实习 #
261645次浏览 2105人参与