使用递归方法求解输出下面 * 图形 n=3 n=4 * * *** *** ***** ***** ***** *******
时间: 2023-11-20 15:05:47 浏览: 30
使用递归方法求解输出下面 * 图形,可以按照以下步骤进行:
1. 定义一个递归方法,接收一个整数n作为参数,表示输出的图形的行数。
2. 在方法中,首先判断n是否为1,如果是,则直接输出一个星号。
3. 如果n不为1,则先递归调用方法,传入n-1作为参数,输出前n-1行的图形。
4. 然后再输出当前行的图形,即输出2n-1个星号。
5. 最后换行。
6. 在主函数中调用该方法,传入需要输出的行数n。
下面是Java代码实现:
```
public static void main(String[] args) {
printStars(4); // 输出4行的图形
}
public static void printStars(int n) {
if (n == 1) {
System.out.println("*");
} else {
printStars(n - 1);
for (int i = 0; i < 2 * n - 1; i++) {
System.out.print("*");
}
System.out.println();
}
}
```
输出结果为:
```
*
***
*****
*******
```
相关问题
C语言用递归函数输出由n行*组成的三角形
使用递归函数输出由n行*组成的三角形的C语言代码如下:
```c
#include <stdio.h>
void printTriangle(int n) {
if (n == 0) { // 递归出口,当n为0时结束递归
return;
}
printTriangle(n - 1); // 递归调用,先打印前n-1行的三角形
for (int i = 0; i < n; i++) {
printf("* "); // 每行打印n个*
}
printf("\n"); // 换行
}
int main() {
int n = 6; // 设置三角形行数
printTriangle(n);
return 0;
}
```
该代码首先通过递归调用`printTriangle(n - 1)`打印前n-1行的三角形,然后在第n行打印n个*。
递归函数输出倒三角*
以下是一个递归函数,用于输出倒三角形的星号:
```python
def triangle(n):
if n == 0:
return ""
return ("*" * n) + "\n" + triangle(n - 1)
print(triangle(6))
```
输出结果为:
```
******
*****
****
***
**
*
```
该函数的实现原理是,当n等于0时,返回一个空字符串。否则,将n个星号和一个换行符连接起来,并递归调用triangle函数,传入n-1作为参数。最终将所有的字符串连接起来,形成一个倒三角形。