袋子里有若干糖果小强每拿出其中的一半,再放回一块这一共操作了4回,袋子还有4快原来袋子有多少快

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了袋子里有若干糖果小强每拿出其中的一半,再放回一块这一共操作了4回,袋子还有4快原来袋子有多少快相关的知识,希望对你有一定的参考价值。

参考技术A 用倒推法
(((((4-1)*2-1)*2-1)*2-1)*2=34
原来袋子有34快本回答被提问者采纳
参考技术B 设原来有a块
a-a/2-1-a/4-1-a/8-1-a/16-1=4
16a-8a-4a-2a-a=128
a=128
所以原来有糖果128块追问

我觉得好像不对

参考技术C (4-1)*2=6
(6-1)*2=10
(10-1)*2=18
(18-1)*2=34
(34-1)*2=66
所以原来有66块糖果
参考技术D 50

概率dp lightoj 1342

题意:有N根木棍,每根木棍都有一个权值 其中有若干根可识别,若干根不可识别的,抽到了可识别的棍子,就不放回,抽到了不可识别的,就要放回 ,问所有棍子都至少被抽过一次后权值和的期望

不可识别的棍子,就相当于投掷一个质地均匀的骰子,问每一个面至少出现一次的期望投掷次数;

而这道题用到的是每一个权值出现的次数,故将期望投掷次数除以总的个数,就是个别的期望投掷次数;

 1 #include <vector>
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <string.h>
 5 #include <iostream>
 6 #include <algorithm>
 7 using namespace std;
 8 double f[5005];
 9 int main()
10     double ans;
11     int i,j,n,x,y,t,cas;
12     f[0]=0;
13     for(i=1;i<=5000;i++)
14     f[i]=f[i-1]+1.0/i;
15     scanf("%d",&t);                             //有标记过的木棍一定只被抽到一次
16     for(cas=1;cas<=t;cas++)                    //而剩下的就情况就是论文题,如果
17         scanf("%d",&n);                         //权值都为1,那么每个木棍的期望为
18         ans=0;                                  //1/1+1/2+1/3+...+1/n
19         for(i=1;i<=n;i++)                      //有权值后则每根木棍再乘上权值
20             scanf("%d%d",&x,&y);
21             if(y==1)
22             ans+=x;
23             else
24             ans+=x*f[n];
25         
26         printf("Case %d: %.5lf\n",cas,ans);
27     
28     return 0;
29 

 

以上是关于袋子里有若干糖果小强每拿出其中的一半,再放回一块这一共操作了4回,袋子还有4快原来袋子有多少快的主要内容,如果未能解决你的问题,请参考以下文章

盒子里有一些糖果,小明每次拿出其中的糖果的一半再放回1颗,一共拿了三次盒子还剩下3颗糖果原来有几颗

一个袋子里有红白蓝三种球各十个,至少拿出多少个才能保证有三个球的颜色是同色?

华为机试真题 C++ 实现分糖果

华为OD机试真题 Python 实现分糖果

华为OD机试 - 分糖果(Java) | 机试题+算法思路+考点+代码解析 2023

uva 10118 Free Candies