打印九九乘法表算法-java

打印九九乘法表算法-java

如果是不采用递归的话,大家很容易先到的方法应该就是循环9行,再把第n行循环n遍输出。
递归的话直接看代码:

System.out.println("递归实现");
multiTable(9);

// 循环实现一
System.out.println("循环实现一");
for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {
        System.out.print(j + "*" + i + "=" + j*i + "\t");
    }
    System.out.println();
}

// 循环实现二
System.out.println("循环实现二");
int i = 1, j = 1;
while (i <= 9) {
    System.out.print(j + "*" + i + "=" + j*i + "\t");
    j++;
    if (j > i) {
        j = 1;
        i++;
        System.out.println();
    }
}

递归函数:

private static void multiTable(int n) {
    if (n == 1) {
        System.out.println("1*1=1");
    } else {
        // 把递归调用放在输出之前,保证乘法表是正的
        multiTable(n - 1);
        for (int i = 1; i <= n; i++) {
            System.out.print(i + "*" + n + "=" + i * n + "\t");
        }
        System.out.println();
    }
}

打印信息:
打印九九乘法表算法-java_第1张图片

参考:http://blog.csdn.net/jiandanfeng2/article/details/6524614

你可能感兴趣的:(算法学习)