이 기사는 패턴 인쇄를 위한 Java 구현을 제공하는 것을 목표로 합니다.
간단한 피라미드 패턴
Javaimport java.io.*; // Java code to demonstrate star patterns public class GeeksForGeeks { // Function to demonstrate printing pattern public static void printStars(int n) { int i j; // outer loop to handle number of rows // n in this case for(i=0; i<n; i++) { // inner loop to handle number of columns // values changing acc. to outer loop for(j=0; j<=i; j++) { // printing stars System.out.print('* '); } // ending line after each row System.out.println(); } } // Driver Function public static void main(String args[]) { int n = 5; printStars(n); } }
산출
* * * * * * * * * * * * * * *
시간 복잡도: O(n^2)
공간 복잡도: O(1)
방법: while 루프 사용
Java// java program to print simple pyramid pattern using while // loop import java.io.*; class GFG { public static void main(String[] args) { int r = 1 c = 0 n = 5; // the while loop check the conditions until the // condition is false. if it is true then enter in // to loop and execute the statements while (r <= n) { while (c <= r - 1) { // printing the required pattern System.out.print('* '); c++; } r++; c = 0; // new line after each row System.out.println(); } } } // this code is contributed by gangarajula laxmi
산출
* * * * * * * * * * * * * * *
시간 복잡도: O(N^2) 외부 while 루프는 N번 반복되고 내부 while 루프는 N-1번 반복됩니다. 따라서 프로그램의 전체 시간복잡도는 O(N2)가 됩니다.
공간 복잡도: O(1) 추가 공간이 필요하지 않습니다.
방법#2: 재귀 사용
Java// Java code to demonstrate star pattern // using Recursion import java.io.*; class GFG { // function to print a row static void printRow(int num) { // base case if (num == 0) return; System.out.print('* '); // recursively calling printRow() printRow(num - 1); } // function to print the pattern static void pattern(int n int i) { // base case if (n == 0) return; printRow(i); System.out.println(); // recursively calling pattern() pattern(n - 1 i + 1); } // Driver code public static void main(String[] args) { int n = 5; pattern(n 1); } } // this code is contributed by Shivesh Kumar Dwivedi
산출
* * * * * * * * * * * * * * *
시간 복잡도: O(N^2)
보조 공간: O(N^2)
전자금융의 한계
180도 회전 후
여행이지만Java
import java.io.*; // Java code to demonstrate star pattern public class GeeksForGeeks { // Function to demonstrate printing pattern public static void printStars(int n) { int i j; // outer loop to handle number of rows // n in this case for(i=0; i<n; i++) { // inner loop to handle number spaces // values changing acc. to requirement for(j=2*(n-i); j>=0; j--) { // printing spaces System.out.print(' '); } // inner loop to handle number of columns // values changing acc. to outer loop for(j=0; j<=i; j++) { // printing stars System.out.print('* '); } // ending line after each row System.out.println(); } } // Driver Function public static void main(String args[]) { int n = 5; printStars(n); } }
산출
* * * * * * * * * * * * * * *
그만큼 시간 복잡도 프로그램의 오(n^2) 왜냐하면 각각 n번 실행되는 두 개의 중첩 루프가 있기 때문입니다.
그만큼 공간 복잡도 ~이다 오(1).
방법#3: 재귀 사용
Java// Java code to demonstrate star pattern //using Recursion import java.util.*; public class GeeksForGeeks { // function to print spaces static void printSpace(int space) { // base case if (space == 0) { return; } System.out.print(' ' + ' '); // recursively calling printSpace() printSpace(space - 1); } // function to print stars static void printStars(int star) { // base case if (star == 0) { return; } System.out.print('* '); // recursively calling printStars() printStars(star - 1); } // function to print the pattern static void pattern(int n int num) { // base case if (n == 0) { return; } printSpace(n - 1); printStars(num - n + 1); System.out.println(); // recursively calling pattern() pattern(n - 1 num); } // Driver code public static void main(String args[]) { int n = 5; pattern(n n); } } //this code is contributed by Shivesh Kumar Dwivedi
산출
* * * * * * * * * * * * * * *
삼각형 인쇄
Javaimport java.io.*; // Java code to demonstrate star pattern public class GeeksForGeeks { // Function to demonstrate printing pattern public static void printTriangle(int n) { // outer loop to handle number of rows // n in this case for (int i=0; i<n; i++) { // inner loop to handle number spaces // values changing acc. to requirement for (int j=n-i; j>1; j--) { // printing spaces System.out.print(' '); } // inner loop to handle number of columns // values changing acc. to outer loop for (int j=0; j<=i; j++ ) { // printing stars System.out.print('* '); } // ending line after each row System.out.println(); } } // Driver Function public static void main(String args[]) { int n = 5; printTriangle(n); } }
산출
* * * * * * * * * * * * * * *
방법#4: 재귀 사용
Java// Java code to demonstrate star pattern // using recursion import java.util.*; public class GeeksForGeeks { // function to print spaces static void printSpace(int space) { // base case if (space == 0) return; System.out.print(' '); // recursively calling printSpace() printSpace(space - 1); } // function to print asterisks static void printStar(int asterisk) { // base case if (asterisk == 0) return; System.out.print('* '); // recursively calling printStar() printStar(asterisk - 1); } // function to print the pattern static void pattern(int n int num) { // base case if (n == 0) return; printSpace(n - 1); printStar(num - n + 1); System.out.println(''); // recursively calling pattern() pattern(n - 1 num); } // Driver code public static void main(String[] args) { int n = 5; pattern(n n); } } // this code is contributed by Shivesh Kumar Dwivedi
산출
* * * * * * * * * * * * * * *
피라미드의 역방향 인쇄
Java//MainFunction public class ReversePyramid { public static void main(String[] args) { int rows = 6; // Number of Rows we want to print //Printing the pattern for (int i = 1; i <= rows; i++) { for (int j = 1; j < i; j++) { System.out.print(' '); } for (int j = i; j <= rows; j++) { System.out.print(j+' '); } System.out.println(); } } }
산출
1 2 3 4 5 6 2 3 4 5 6 3 4 5 6 4 5 6 5 6 6
거울상이 있는 숫자의 패턴
Java//MainFunction public class ReversePattern { public static void main(String[] args) { int rows = 7; // Number of Rows we want to print //Printing the pattern for (int i = 1; i <= rows; i++) { for (int j = 1; j < i; j++) { System.out.print(' '); } for (int j = i; j <= rows; j++) { System.out.print(j+' '); } System.out.println(); } //Printing the reverse pattern for (int i = rows-1; i >= 1; i--) { for (int j = 1; j < i; j++) { System.out.print(' '); } for (int j = i; j <= rows; j++) { System.out.print(j+' '); } System.out.println(); } } }
산출
1 2 3 4 5 6 7 2 3 4 5 6 7 3 4 5 6 7 4 5 6 7 5 6 7 6 7 7 6 7 5 6 7 4 5 6 7 3 4 5 6 7 2 3 4 5 6 7 1 2 3 4 5 6 7
숫자 패턴
Javaimport java.io.*; // Java code to demonstrate number pattern public class GeeksForGeeks { // Function to demonstrate printing pattern public static void printNums(int n) { int i jnum; // outer loop to handle number of rows // n in this case for(i=0; i<n; i++) { // initialising starting number num=1; // inner loop to handle number of columns // values changing acc. to outer loop for(j=0; j<=i; j++) { // printing num with a space System.out.print(num+ ' '); //incrementing value of num num++; } // ending line after each row System.out.println(); } } // Driver Function public static void main(String args[]) { int n = 5; printNums(n); } }
산출
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
방법 5: while 루프 사용
Java// java program to print number pattern using while // loop import java.io.*; class GFG { public static void main(String[] args) { int r = 1 c = 1 n = 5; // the while loop check the conditions until the // condition is false. if it is true then enter in // to loop and execute the statements while (r <= n) { while (c <= r ) { // printing the required pattern System.out.print(c+' '); c++; } r++; c = 1; // new line after each row System.out.println(); } } }
산출
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
다시 할당하지 않은 번호
자바 tostring 메소드Java
import java.io.*; // Java code to demonstrate star pattern public class GeeksForGeeks { // Function to demonstrate printing pattern public static void printNums(int n) { // initialising starting number int i j num=1; // outer loop to handle number of rows // n in this case for(i=0; i<n; i++) { // without re assigning num // num = 1; for(j=0; j<=i; j++) { // printing num with a space System.out.print(num+ ' '); // incrementing num at each column num = num + 1; } // ending line after each row System.out.println(); } } // Driver Function public static void main(String args[]) { int n = 5; printNums(n); } }
산출
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
피라미드를 사용하여 크리스마스 트리 인쇄하기
Javaclass PrintChristmasTree{ //Value 5 is permanently provided to height variable public static final int height = 5; //Main Function public static void main(String[] args) { //Assigning Width int width = 5; //Assigning Space int space = width*5; int x = 1; //Code to Print Upper Part of the Tree i.e. Pyramids. for(int a = 1;a <= height ;a++){ for(int i = x;i <= width;i++){ for(int j = space;j >= i;j--){ System.out.print(' '); } for(int k = 1;k <= i;k++){ System.out.print('* '); } System.out.println(); } x = x+2; width = width+2; } //Printing Branch of Christmas Tree for(int i = 1;i <= 4;i++){ for(int j = space-3;j >= 1;j--){ System.out.print(' '); } for(int k= 1;k <= 4;k++){ System.out.print('* '); } System.out.println(); } } }
산출
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
시간 복잡도: O(h*w*w) 주어진 높이 h와 너비 w에 대해
보조 공간: O(1)