今天去面试,其中有一题,用递归法打印出九九乘法口诀,想了想,应该如下实现,总算没有丢脸。
java 代码
- public class Test {
-
-
-
-
- public static void main(String[] args) {
- method1(9);
-
- }
-
- public static void method1(int i) {
- if (i == 1) {
- System.out.print("1*1=1\t\n");
- } else {
- method1(i - 1);
- for (int j = 1; j <= i; j++) {
- System.out.print(j + "*" + i + "=" + j * i + "\t");
- }
- System.out.println();
- }
- }
- }
输出结果如下:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
分享到:
相关推荐
用递归法及两个for循环打印九九乘法表,用C语言描述
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]用一行代码打印九九乘法表 展示了jQuery的级联语法,简介且功能强大 这个程序的要求:不能用if,for,var xx =等常见js代码。只能用jquery的链式代码。 于是,要生成99...
本文将详细介绍如何使用迭代回溯法解决矩阵乘法链问题,以及如何通过C++编程实现。 首先,我们需要理解矩阵乘法链的基本概念。假设我们有一系列矩阵A1, A2, ..., An,它们可以两两相乘,但乘法顺序受到限制,只能...
**递归下降算法在分析数学表达式中的应用** 在计算机科学中,编译原理是研究如何将高级语言转化为机器可理解的二进制代码的重要领域。递归下降解析(Recursive Descent Parsing)是一种基于上下文无关文法的解析...
- 对这些部分进行乘法运算,这可能涉及递归调用自身。 - 结合中间结果,通常通过加法和位移操作来完成。 4. **效率优化**:使用分治法的一个主要原因是提高效率。与传统的逐位乘法相比,Karatsuba算法和Toom-Cook...
描述中提到的程序是用Delphi 7.0开发的,一个经典的面向对象的编程环境,它不依赖任何第三方控件,能够处理高达4千位以上的正数乘法,远超普通计算器的计算能力。 在计算机中,常规的乘法运算通常通过位操作实现,...
边界条件定义了递归停止的条件,而递归方程则描述了如何将问题分解为更小的子问题,并且用函数自身来解决这些子问题。递归函数的设计需要仔细选择合适的边界条件和递归方程,以确保每次递归都能够使问题规模逐步缩小...
8. **递归函数的性质**:比如封闭性(如加法、乘法、取余等操作在递归函数上是否封闭),以及递归函数的构造方法(如主函数构造法、最小递归构造法等)。 9. **递归与非递归问题的识别**:学习如何判断一个问题是否...
1. **错误处理**:递归下降分析程序应能够识别非法输入,并在遇到语法错误时给出适当的错误信息。 2. **回溯**:由于递归下降分析是自顶向下的,可能会出现因不正确路径导致的无效递归。设计时需考虑如何有效地回溯...
《递归下降分析法》 递归下降分析法是一种用于解析和语法分析的算法,尤其在编译原理中被广泛采用。...在实际应用中,递归下降分析法可能需要配合其他技术,如左递归消除和预测分析表,以处理更复杂的文法和提高效率。
最后,输出九九乘法表的右下角三角形,与常规的九九乘法表输出类似,但只需要打印出部分乘积。 总的来说,循环结构在C语言中扮演着核心角色,无论是简单的计算、数据处理,还是复杂的算法实现,都离不开循环结构的...
#### 一、九九乘法表 **知识点:** 1. **循环结构**:实现九九乘法表通常需要用到双重循环(嵌套循环),外层循环控制行数,内层循环控制列数。 2. **字符串拼接**:将数字转换为字符串进行拼接,形成最终的输出...
"乘法表.c"可能用于生成乘法表格,这对于理解和处理数组及循环很有帮助。 这些代码文件为初学者提供了一个很好的实践平台,他们可以从中学习如何运用基本的编程概念,如循环、递归、数组操作以及排序算法,同时也能...
首先,我们要理解多项式乘法的传统方法,如卡尔丹诺公式或链接表法,这些方法的时间复杂度通常是O(n^2),其中n是多项式的度。而FFT可以将这个复杂度降低到O(n log n)。这在处理大整数乘法或高次多项式乘法时具有显著...
在实际应用中,分治法和递归式常常一起使用,例如在解决矩阵乘法、大整数乘法(如Karatsuba算法)等问题上。递归式是分治法中分解和解决阶段的关键工具,而分治法提供了一种结构化的框架,使递归过程更加有条理。 ...
8. **优化**:为了提高效率,可以引入回溯避免策略,如使用左因子消除或预处理运算符优先级表。 在这个课程设计报告中,学生可能需要实现一个递归下降解析器,用于处理简单的数学表达式,然后分析其性能和正确性。...
标题中的内容涵盖了四个C语言编程相关的知识点:计算两个整数的最大公约数(Greatest Common Divisor, GCD)、最小公倍数(Least Common Multiple, LCM)、确定某一天在当年的第几天,以及99乘法口诀表的实现。...
此外,为了提高效率,可以考虑使用高斯消元法或其他更高效的算法来计算大矩阵的行列式,尤其是当矩阵的阶数较高时。 在提供的`license.txt`文件中,可能包含了`determin.m`函数的授权信息,这是对软件源代码使用的...
11. 打印九九乘法表:通过嵌套循环打印出九九乘法表,并通过修改print()函数的end参数实现不换行输出。 12. 替换列表中所有的3为3a:利用列表推导式或循环遍历列表中的元素,找到匹配项后进行替换。 13. 打印每个...