假设有n个座位(即n个人),求第i个人做到自己座位上的概率。
题解思路:(目标座位即第i个人原本应该坐的位置)
第一个人不做到目标座位上的概率:(n-1)/ n
第二个人不做到目标座位上的概率:(n-2)/ (n-1)
第三个人不做到目标座位上的概率:(n-3)/ (n-2)
。。。。。。。。。。。。。。。。。。。。
第i-1个人不做到目标座位上的概率:(n-i+1)/ (n-i+2)
第i个人做到自己座位上的概率:1 / (n-i+1)
则概率为:P = (n-1)/ n * (n-2)/ (n-1) * (n-3)/ (n-2) * (n-i+1)/ (n-i+2) * 1 / (n-i+1) = 1/n
即对于任意一位客人,他做到自己原来座位上的概率都为1/n。
Java 代码如下:
import java.io.BufferedInputStream;
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner sin = new Scanner(new BufferedInputStream(System.in));
while(sin.hasNext())
{
int n = sin.nextInt();
int i = sin.nextInt();
DecimalFormat df = new DecimalFormat("0.00");
System.out.println(df.format(1.0/n));
}
sin.close();
}
}