Java 递归求九九乘法表

时间:2022-03-04作者:klpeng分类:IT综合浏览:429评论:0

 首先看一下两层for循环求。


public class Main {
    public static void main(String[] args) {
        for(int i = 1;i<=9;i++){
            for(int j = 1;j<=i;j++){
                System.out.print( i+" * "+j+" = "+i*j+"\t" );
            }
            System.out.println();
        }
    }
}

Java 递归求九九乘法表

1、递归一层for循环

 递归每一行,然后遍历1~n。


public class Test1 {

    static void print(int n){
        if(n==0){
            return ;
        }
        print(n-1); // 减到 n==1的时候再开始输出
        for(int i =1;i<=n;i++){  //输出第n行的九九乘法表
            System.out.print( i+" * "+n+" = "+i*n+"\t" );
        }
        System.out.println();
    }
    public static void main(String[] args) {
        print(9);
    }
}

Java 递归求九九乘法表

2、递归无for循环

 递归每一行,再递归当前行的每一列。


public class Test1 {

    static void printOne(int m , int n){ //递归第n行中的每一列
        if(m==0){
            return ;
        }
        printOne(m-1,n);
         //输出第n行的九九乘法表
        System.out.print( m+" * "+n+" = "+m*n+"\t" );

    }
    static void print(int n){  //递归每行
        if(n==0){
            return ;
        }
        print(n-1); // 减到 n==1的时候再开始输出
        printOne(n,n);
        System.out.println();
    }
    public static void main(String[] args) {
        print(9);
    }
}

Java 递归求九九乘法表

3、递归二分

 每次都分半

public class Test2 {


    static void print(int m,int n){  //递归每行
        int mid = (m+n)/2; //分成两半
        if(mid<m||mid>n){ //越界就终止

            return ;
        }
        print(m,mid-1);  
        for(int i = 1;i<=mid;i++){
            System.out.print( i+" * "+mid+" = "+i*mid+"\t" );
        }
        System.out.println();
        print(mid+1,n);

    }
    public static void main(String[] args) {
        print(1,9);
    }
}

Java 递归求九九乘法表

打赏
文章版权声明:除非注明,否则均为彭超的博客原创文章,转载或复制请以超链接形式并注明出处。
相关推荐

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

猜你喜欢