米哈游第三题

#米哈游##米哈游测试#考的时候出金公式推错了,后面改了改。输入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; 
}
全部评论

相关推荐

01-26 22:20
已编辑
门头沟学院 Java
Java抽象带篮子:项目很nb了,现在好好准备八股和算法吧,早点找实习,可以看看我的置顶帖子。帖子里写了怎么改简历,怎么包装实习经历,还有2个高质量可速成的项目话术,和我的牛客八股笔记专栏
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务