米哈游第三题
#米哈游##米哈游测试#考的时候出金公式推错了,后面改了改。输入0.006时,输出是104.55,记不得测试用例给的104.多少了,希望大佬们指点一下
#include <iostream>
#include <vector>
using namespace std;
int main() {
double p;
double sum = 0.0;
vector<double> a(91);
cin >> p;
a[0] = 1;
a[1] = p;
double tmp = a[1];
for (int i = 2; i <= 89; i++) {
a[i] = a[i-1] * (1 - p);
tmp += a[i];
}
a[90] = 1 - tmp;
//for (int i =1; i <= 90; i++) cout << a[i] << endl;
vector<double> res(181);
res[1] = a[1] / 2;
for (int i = 2; i <= 180; i++) {
double tmp = 0.0;
for (int j = 1; j <= i; j++) {
if (j <= 90) tmp += a[j] * 0.5 * a[i - j];
}
res[i] = tmp;
}
//for (int i = 90; i <= 180; i++) cout << res[i] << endl;
for (int i = 1; i <= 180; i++) sum += i * res[i];
cout << sum;
}
#include <iostream>
#include <vector>
using namespace std;
int main() {
double p;
double sum = 0.0;
vector<double> a(91);
cin >> p;
a[0] = 1;
a[1] = p;
double tmp = a[1];
for (int i = 2; i <= 89; i++) {
a[i] = a[i-1] * (1 - p);
tmp += a[i];
}
a[90] = 1 - tmp;
//for (int i =1; i <= 90; i++) cout << a[i] << endl;
vector<double> res(181);
res[1] = a[1] / 2;
for (int i = 2; i <= 180; i++) {
double tmp = 0.0;
for (int j = 1; j <= i; j++) {
if (j <= 90) tmp += a[j] * 0.5 * a[i - j];
}
res[i] = tmp;
}
//for (int i = 90; i <= 180; i++) cout << res[i] << endl;
for (int i = 1; i <= 180; i++) sum += i * res[i];
cout << sum;
}
全部评论
相关推荐
点赞 评论 收藏
分享
炒饭不加蛋55:大学生就该这样
点赞 评论 收藏
分享
09-22 09:42
门头沟学院 Java 牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
点赞 评论 收藏
分享
牛客96609213...:疯狂背刺,之前还明确设置截止日期,还有笔试,现在一帮人卡在复筛,他反而一边开启扩招,还给扩招的免笔试,真服了,你好歹先把复筛中的给处理了再说 点赞 评论 收藏
分享
