zoukankan      html  css  js  c++  java
  • 课程作业02

     

    一、

    1.设计思想

    输入n,k;设计求n的阶乘函数,调用求出组合数;

    2.流程图

     

    3.代码

       package one;

    import javax.swing.JOptionPane;

    public class one {

          public static void main(String[] args) {

                 // TODO 自动生成的方法存根

                 String num1,num2;

                 int n,k;

                 num1=JOptionPane.showInputDialog( "请输入n:" );

                 n=Integer.parseInt( num1 );

                 num2=JOptionPane.showInputDialog( "请输入k:" );

                 k=Integer.parseInt( num2 );

                 zuhe(n, k);

                 JOptionPane.showConfirmDialog(null, zuhe(n, k),"组合", JOptionPane.CLOSED_OPTION);

          }

         

    public static int zuhe(int n,int k){

          int p;

          p=jiecheng(n)/(jiecheng(k)*jiecheng(n-k));

         

          return p;

    }

    public static int jiecheng(int n) {

         

          if(n==1||n==0) {

                 return 1;

                

          }

                

                 return n=n*jiecheng(n-1);

    }

    }

    1.   设计思想

    a)  输入第几行第几个;设计组合公式函数调用组合函数;

    2.   流程图

    3.   代码

    package one;

    import javax.swing.JOptionPane;

    public class two {

          public static void main(String[] args) {

                 // TODO 自动生成的方法存根

                 String num1,num2;

                 int n,k;

                 num1=JOptionPane.showInputDialog( "请输入第几行:");

                 n=Integer.parseInt( num1 );

                 num2=JOptionPane.showInputDialog( "请输入第几个:" );

                 k=Integer.parseInt( num2 );

                 JOptionPane.showConfirmDialog(null,zuhe(n-1,k),"组合", JOptionPane.CLOSED_OPTION);

          }

          public static int C(int n,int k) {

                 if(n==1&&k==1)

                        return 1;     

                 else if((n==2&&k==1)||(n==2&&k==2))

                        return 1;

                 return zuhe(n,k);

          }

          public static int f(int n,int k) {

                 int p=1;

                 for(int i=1;i<n;i++) {

                       

                        for(int j=1;j<k;j++) {

                               p=C(n-1,k-1)+C(n-1,k);   

                        }

                 }

                

                 return p;

          }

         

         

          public static int zuhe(int n,int k){

                 int p;

                 p=jiecheng(n)/(jiecheng(k)*jiecheng(n-k));

                

                 return p;

          }

          public static int jiecheng(int n) {

                

                 if(n==1||n==0) {

                        return 1;

                       

                 }

                       

                        return n=n*jiecheng(n-1);

          }

    }

    1. 设计思想

    输入n,k;p=C(n-1,k-1)+C(n-1,k);

    2.流程图

    3.代码

       import java.util.Scanner;

    public class Ncheng2 {

          public static void main(String args[]) {

                

                 int n,k,tem;

                 System.out.print("从n个中选k个,n=");

                 Scanner scan=new Scanner(System.in);

                 n=scan.nextInt();

                 System.out.print("从n个中选k个,k=");

                 k=scan.nextInt();

                

                 tem=C (n,k);

                

                 System.out.println("在"+n+"中选"+k+"个,有多少种方法:"+tem);

                

          }

          public static int C(int n,int k) {

                 int x;

                 if(n==k)

                        return 1;

                 else if(k==1)

                        return n;

                 else

                    x=C(n-1,k)+C(n-1,k-1);

                 return x;

          }

    }

    二、

    1.设计思想

       输入有几个盘子,如果等于一,输出步骤,如果不等于,减一台词调用;

    2. 流程图

     

    3. 代码

    import java.util.Scanner;

    public class HanoiTower {

         

            public static void moveDish(int level, char from, char inter, char to) {

               

                if (level == 1) { 

                    System.out.println("从" + from + " 移动盘子" + level + " 号到" + to); 

                }

               

                else {

                  

                    moveDish(level - 1, from, to, inter); 

                    System.out.println("从" + from + " 移动盘子" + level + " 号到" + to); 

                    moveDish(level - 1, inter, from, to);

                   

                } 

            } 

           

           

            public static void main(String[] args) { 

               

                System.out.println("请选择:");

                        Scanner p=new Scanner(System.in);

                        int nDisks = p.nextInt();

                moveDish(nDisks, 'A', 'B', 'C'); 

               

            } 

        }

    三、

    1.设计思想

    输入字符串区第一个字符为I ,第二个字符为j,如果等于,i++j--;一直到i=j,或者i>j;

    2.流程图

    4. 代码

    import javax.swing.JOptionPane;

    public class three { 

          public static void main(String[] args) {            

                 String line=JOptionPane.showInputDialog("请输入字符串:");    

            int i=0;

            int j=line.length()-1;

            JOptionPane.showConfirmDialog(null, "是回文数么? "+three.judge(line,i,j), line, JOptionPane.CLOSED_OPTION);

          }

    public static  boolean judge(String line,int i,int j) {

          if(line.charAt(i)==line.charAt(j))

          {

                 if(i==j) {

                        return true;              

                 }

                

                 else if(i>j) {

                        return true;

                 }

                 else {

                        i++;       

                        j--;

                        return judge(line,i,j);

                 }

          }

          else {

                 return false;

                

          }

    }

    }

     

     

  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/liushiqiang123/p/7663499.html
Copyright © 2011-2022 走看看