zoukankan      html  css  js  c++  java
  • 课程3动手动脑.

    1.纯随机数发生器

    Xn+1=(aXn + c)mod m

    Modulus=2^31-1=int.MaxValue

    Multiplier=75=16807

    C=0

    当显示过2^31-2个数之后,才可能重复。

    动手动脑: 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。

    package demo;

    //RandomInt.java
    //Shifted, scaled random integers
    import javax.swing.JOptionPane;

    public class Random {
    public static void main( String args[] )
    {
       int value;
       String output = "";

       for ( int i = 1; i <= 1000; i++ ) {
          value = 1 + (int) ( Math.random() * 1000 );
          output += value + "  ";
         
          if ( i % 5 == 0 )
             output += " ";
       }

       JOptionPane.showMessageDialog( null, output,
          "20 Random Numbers from 1 to 6",
          JOptionPane.INFORMATION_MESSAGE );

       System.exit( 0 );
    }
    }

    程序截图:,这是随机生成50个数的,若要生成1000个数,可将程序中的i的大小设置位1000.

    2.请看以下代码,你发现了有什么特殊之处吗?

     

    上述示例代码展示了Java的“方法重载(overload)”特性。
    满足以下条件的两个或多个方法构成“重载”关系:
    (1)方法名相同;
    (2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。(方法的返回值不作为方法重载的判断条件。)

     3、用组合数公式利用n!来计算。

     代码:

    package demo;

    import java.math.BigInteger;
    import java.util.Scanner;
    public class project {
     public static void main(String[] args)
     {
      System.out.println("输入N");
      Scanner scan = new Scanner(System.in);
      System.out.println("输入k");
      Scanner scan1 = new Scanner(System.in);
      int number1 = scan.nextInt();
      int number2 = scan1.nextInt();
      System.out.println("The result is :" + calculateN2(number1,number2));
     }
     public static long calculateN(int n){
      if(n<=0){
       return 1;
      }
      else
      {
       return n*calculateN(n-1);
       
      } 
     }
     public static long calculateN2(int n,int k){
      
      if(calculateN(n) == 0 || calculateN(k) == 0)
      {
       return 0;
      }
      else
      {
       return calculateN(n)/(calculateN(k)*calculateN(n-k));
       
      }
     }

    }

    截图:

    4、回文数的判断

    程序:public class Recursive {
     public static void main(String[] args) {
      System.out.println("Is 我是谁是我  a Palindrome?"+isPalindrome("abcdcba"));
     }
     public static boolean isPalindrome(String s){
      if(s.length()<=1){
       return true;
      }else if(s.charAt(0) != s.charAt(s.length()-1)){
       return false;
      }
      return isPalindrome(s.substring(1,s.length()-1));
     }
    }

    截图:

  • 相关阅读:
    第九次训练赛
    什么是 Catalan 数列以及其应用
    Python pip 安装与使用
    HDU 1179:Ollivanders: Makers of Fine Wands since 382 BC.
    身份证信息
    流量暴增,掌门教育如何基于 Spring Cloud Alibaba 构建微服务体系?
    从零入门 Serverless | 函数计算的可观测性
    如何管理越来越多的 operator?OLM 给你答案
    Fluid: 让大数据和 AI 拥抱云原生的一块重要拼图
    SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可监控)
  • 原文地址:https://www.cnblogs.com/th1314/p/5965164.html
Copyright © 2011-2022 走看看