For a given value N, denoting the number of Charters starting from the A, print reverse character bridge pattern.
Examples :
Input : n = 5
Output :
ABCDEDCBA
ABCD DCBA
ABC CBA
AB BA
A A
Input : n = 8
Output :
ABCDEFGHGFEDCBA
ABCDEFG GFEDCBA
ABCDEF FEDCBA
ABCDE EDCBA
ABCD DCBA
ABC CBA
AB BA
A A
- For a given value N, reflect the number of characters taking part in the pattern, starting from A. For N = 5, Participating character would be A B C D E.
- By using a nested for loop we would compute the logic. Where the outer loop of ‘i’ would range from 0 to N and the inner loop of ‘j’ would range from 65(Start) to 64 + 2*N.
- Under which we would check the required condition for the pattern design. For all the values of j which are less than ((64+n)+ i) it would print the (char)((64 + n)-( j % (64+n))) and for all the values of j <= ((64+n) -i) it would print (char)j.
C++
#include <iostream>
using namespace std;
void ReverseCharBridge( int n)
{
for ( int i = 0; i < n; i++)
{
for ( int j = 'A' ; j < 'A' + (2 * n) - 1; j++)
{
if (j >= ( 'A' + n - 1) + i)
cout << ( char )(( 'A' + n - 1) -
(j % ( 'A' + n - 1)));
else if (j <= ( 'A' + n - 1) - i)
cout << ( char )j;
else
cout << " " ;
}
cout << endl;
}
}
int main()
{
int n = 6;
ReverseCharBridge(n);
return 0;
}
|
Java
import java.io.*;
class GFG {
static void ReverseCharBridge( int n)
{
for ( int i = 0 ; i < n; i++)
{
for ( int j = 'A' ; j < 'A' + ( 2 * n) - 1 ; j++)
{
if (j >= ( 'A' + n - 1 ) + i)
System.out.print(( char )(( 'A' + n - 1 ) -
(j % ( 'A' + n - 1 ))));
else if (j <= ( 'A' + n - 1 ) - i)
System.out.print(( char )j);
else
System.out.print( " " );
}
System.out.println();
}
}
public static void main(String args[])
{
int n = 6 ;
ReverseCharBridge(n);
}
}
|
Python3
def ReverseCharBridge( n ):
for i in range ( n ):
for j in range ( ord ( 'A' ), ord ( 'A' ) +
( 2 * n) - 1 ):
if j > = ( ord ( 'A' ) + n - 1 ) + i:
print ( chr (( ord ( 'A' ) + n - 1 ) -
(j % ( ord ( 'A' ) + n - 1 ))), end = '')
elif j < = ( ord ( 'A' ) + n - 1 ) - i:
print ( chr (j), end = '')
else :
print (end = " " )
print ( "\n" , end = '')
n = 6
ReverseCharBridge(n)
|
C#
using System;
class GFG {
static void ReverseCharBridge( int n)
{
for ( int i = 0; i < n; i++)
{
for ( int j = 'A' ; j < 'A' + (2 * n) - 1; j++)
{
if (j >= ( 'A' + n - 1) + i)
Console.Write(( char )(( 'A' + n - 1)
- (j % ( 'A' + n - 1))));
else if (j <= ( 'A' + n - 1) - i)
Console.Write(( char )j);
else
Console.Write( " " );
}
Console.WriteLine();
}
}
public static void Main()
{
int n = 6;
ReverseCharBridge(n);
}
}
|
PHP
<?php
function ReverseCharBridge( $n )
{
for ( $i = 0; $i < $n ; $i ++)
{
for ( $j = 65; $j < 65 +
(2 * $n ) - 1; $j ++)
{
if ( $j >= (65 + $n - 1) + $i )
echo chr ((65 + $n - 1) -
( $j % (65 + $n - 1)));
else if ( $j <= (65 + $n - 1) - $i )
echo chr ( $j );
else
echo " " ;
}
echo "\n" ;
}
}
$n = 6;
ReverseCharBridge( $n );
?>
|
Javascript
<script>
function ReverseCharBridge(n)
{
for (let i = 0; i < n; i++)
{
for (let j = 65; j < 65 + (2 * n) - 1; j++)
{
if (j >= (65 + n - 1) + i)
document.write(String.fromCharCode((65 + n - 1) -
(j % (65 + n - 1))));
else if (j <= (65 + n - 1) - i)
document.write(String.fromCharCode(j));
else
document.write( " " );
}
document.write( "\n" );
}
}
let n = 6;
ReverseCharBridge(n);
</script>
|
OutputABCDEFEDCBA
ABCDE EDCBA
ABCD DCBA
ABC CBA
AB BA
A A
Time Complexity: O(n2)
Auxiliary Space: O(1)