小明玩游戏 小明最近在玩某抽卡游戏,这个游戏每抽一次需要消耗160个资源,每次出现小明想要的东西概率为2%。已知小明现在有10000个资源,他每天可以获得150个资源。但是游戏过一段时间之后会关闭抽卡,小明想知道他在游戏关闭抽卡前能获得想要的东西的概率是多少,请你帮他写一个程序计算。(结果保留两位小数,使用double类型) 输入说明: 距离抽卡关闭的天数 输入说明: 小明获得想要东西的概率 输入示例 10 输出示例 0.76
时间: 2024-02-06 21:09:56 浏览: 107
概率计算程序
以下是一个Java语言的解法:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int days = scanner.nextInt();
double probability = scanner.nextDouble();
scanner.close();
int totalResource = 10000 + 150 * days;
int totalDraws = totalResource / 160;
double p = 1 - Math.pow(1 - probability, totalDraws);
System.out.printf("%.2f", p);
}
}
```
思路:
根据题目条件,我们可以算出小明在关闭抽卡前最多能够进行的抽卡次数。然后利用概率公式计算小明至少抽中一次想要的东西的概率。
具体的,设小明进行了 $n$ 次抽卡,那么小明至少抽中一次想要的东西的概率为 $1 - (1-p)^n$,其中 $p$ 是每次抽卡想要的东西出现的概率。每次抽卡需要消耗 $160$ 个资源,而小明在关闭抽卡前获得的总资源数为 $10000+150\times days$,因此小明最多可以进行 $\lfloor \frac{10000+150\times days}{160} \rfloor$ 次抽卡。
最后输出结果时,使用 `System.out.printf` 格式化输出即可。
阅读全文