本文概述
我们已经讨论了迭代图案打印以前的帖子.
例子:
Input : 7
Output :
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
算法:-
步骤1:-首先考虑基本条件, 即数字小于0
步骤2:-进行递归调用直到数字小于0, 即:-printPartten(n-1, k + 1);
步骤3:打印空格
步骤4:-然后列印*直到编号
下面是上述方法的实现:
C ++
//C++ program to print triangular patterns using Recursive
#include <iostream>
using namespace std;
void printPartten( int n, int k)
{
if (n <0) //Base condition
return ;
//Recursive call
printPartten(n - 1, k + 1);
int i;
for (i = 0; i <k; i++) //it makes spaces
cout <<" " ;
for (i = 0; i <n; i++) //for print *
printf ( "* " );
printf ( "\n" ); //for next line
}
int main()
{
int n = 7;
//Call to printPartten function
printPartten(n, 0);
return 0;
}
Java
//Java program to print triangular patterns using Recursive
class GFG{
static void printPartten( int n, int k)
{
if (n <0 ) //Base condition
return ;
//Recursive call
printPartten(n - 1 , k + 1 );
int i;
for (i = 0 ; i <k; i++) //it makes spaces
System.out.printf( " " );
for (i = 0 ; i <n; i++) //for print *
System.out.printf( "* " );
System.out.printf( "\n" ); //for next line
}
public static void main(String[]args)
{
int n = 7 ;
//Call to printPartten function
printPartten(n, 0 );
}
}
Python 3
# Python 3 program to print triangular
# patterns using Recursive
def printPartten(n, k):
if (n <0 ): # Base condition
return ;
# Recursive call
printPartten(n - 1 , k + 1 );
for i in range ( 0 , k): # it makes spaces
print ( " " , end = "");
for i in range ( 0 , n): # for print *
print ( "* " , end = "");
print ( "\n" , end = ""); # for next line
# Driver Code
n = 7 ;
# Call to printPartten function
printPartten(n, 0 );
# This code is contributed
# by Akanksha Rai
C#
//C# program to print triangular
//patterns using Recursive
using System;
class GFG
{
static void printPartten( int n, int k)
{
if (n <0) //Base condition
return ;
//Recursive call
printPartten(n - 1, k + 1);
int i;
for (i = 0; i <k; i++) //it makes spaces
Console.Write( " " );
for (i = 0; i <n; i++) //for print *
Console.Write( "* " );
Console.Write( "\n" ); //for next line
}
//Driver Code
public static void Main()
{
int n = 7;
//Call to printPartten function
printPartten(n, 0);
}
}
//This code is contributed
//by Subhadeep
的PHP
<?php
//PHP program to print triangular
//patterns using Recursive
function printPartten( $n , $k )
{
if ( $n <0) //Base condition
return ;
//Recursive call
printPartten( $n - 1, $k + 1);
for ( $i = 0; $i <$k ; $i ++) //it makes spaces
echo " " ;
for ( $i = 0; $i <$n ; $i ++) //for print *
echo ( "* " );
echo ( "\n" ); //for next line
}
//Driver Code
$n = 7;
//Call to printPartten function
printPartten( $n , 0);
//This code is contributed by jit_t
?>
输出如下:
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
如何打印其反向图案?
只需将递归行放在函数的末尾
例子:
Input : 7
Output :
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
C ++
//C++ program to print reverse triangular
//patterns using Recursive
#include <iostream>
using namespace std;
void printPartten( int n, int k)
{
if (n <0) //Base condition
return ;
int i;
for (i = 0; i <k; i++) //it makes spaces
cout <<" " ;
for (i = 0; i <n; i++) //for print *
printf ( "* " );
printf ( "\n" ); //for next line
//Recursive calls
printPartten(n - 1, k + 1);
}
int main()
{
int n = 7;
//Call to printPartten function
printPartten(n, 0);
return 0;
}
Java
//Java program to print reverse triangular
//patterns using Recursive
class GFG{
static void printPartten( int n, int k)
{
if (n <0 ) //Base condition
return ;
int i;
for (i = 0 ; i <k; i++) //it makes spaces
System.out.print( " " );
for (i = 0 ; i <n; i++) //for print *
System.out.print( "* " );
System.out.print( "\n" ); //for next line
//Recursive calls
printPartten(n - 1 , k + 1 );
}
public static void main(String[] args)
{
int n = 7 ;
//Call to printPartten function
printPartten(n, 0 );
}
}
Python 3
# Python 3 program to print reverse
# triangular patterns using Recursive
def printPartten(n, k):
if (n <0 ): # Base condition
return ;
for i in range ( 0 , k): # it makes spaces
print ( " " , end = "")
for i in range ( 0 , n): # for print *
print ( "*" , end = " " )
print ( "\n" , end = "") # for next line
# Recursive calls
printPartten(n - 1 , k + 1 );
# Driver Code
n = 7 ;
# Call to printPartten function
printPartten(n, 0 );
# This code is contributed
# by Akanksha Rai
C#
//C# program to print reverse triangular
//patterns using Recursive
using System;
class GFG
{
static void printPartten( int n, int k)
{
if (n <0) //Base condition
return ;
int i;
for (i = 0; i <k; i++) //it makes spaces
Console.Write( " " );
for (i = 0; i <n; i++) //for print *
Console.Write( "* " );
Console.Write( "\n" ); //for next line
//Recursive calls
printPartten(n - 1, k + 1);
}
//Driver Code
public static void Main()
{
int n = 7;
//Call to printPartten function
printPartten(n, 0);
}
}
//This code is contributed
//by PrinciRaj1992
的PHP
<?php
//PHP program to print reverse triangular
//patterns using Recursive
function printPartten( $n , $k )
{
if ( $n <0) //Base condition
return ;
for ( $i = 0; $i <$k ; $i ++) //it makes spaces
echo ( " " );
for ( $i = 0; $i <$n ; $i ++) //for print *
echo ( "* " );
echo ( "\n" ); //for next line
//Recursive calls
printPartten( $n - 1, $k + 1);
}
//Driver Code
$n = 7;
//Call to printPartten function
printPartten( $n , 0);
//This code is contributed
//by Mukul singh
?>
输出如下:
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*