zoukankan      html  css  js  c++  java
  • Algs4-1.4.44生日问题

    1.4.44生日问题。编写一个程序,从命令行接受一个整数N作为参数并使用StdRandom.uniform()生成一系列0至N-1之间的随机整数。通过实验验证产生第一个重复的随机数之前生成的整数数量为~sqrt(pi*N/2)。
    答:
    图片
    public class E1d4d44
    {
      public static void main(String[] args)
      {
        for (int i=2;i<=10000000;i=i+i)
        {
        int[] data=new int[i];
        int count=0;
        boolean notRepeart=true;
        while (notRepeart)
        {
          int r=StdRandom.uniform(i);
          if(data[r]==0)
          {
            count++;
            data[r]=1;
          }
          else
          {
            notRepeart=false;
          }
        }//end while
        StdOut.printf("N=%9d count=%7d sqrt(pi*N/2)=%6.1f ",i,count,Math.sqrt(Math.PI*i/2));
        }//end for
      }//end main
    }//end class
  • 相关阅读:
    理解Restful 架构
    CLR 异步函数
    CLR 线程池
    CLR 线程基础
    CLR 序列化
    CLR 垃圾回收和应用程序集
    CLR的垃圾回收机制
    定制特性
    枚举和迭代器
    接口
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9854601.html
Copyright © 2011-2022 走看看