개발/알고리즘 기초

[알고리즘 기초] 구구단1

s2somang 2021. 4. 7. 05:38

 

문제

구구단 시작 a부터 b단까지 입력받아 아래와 같이 출력하시오.

 

- 입력 : a = 2  , b = 3
정답 :
2 * 1 = 2 3 * 1 = 3
2 * 2 = 4 3 * 2 = 6
2 * 3 = 6 3 * 3 = 9
2 * 4 = 7 3 * 4 = 12
           ...
2 * 9 = 18 3 * 9 = 27

 

 

🥺 풀이  : 

자바를 처음 배울때 구구단을 풀고 기뻐했던게 생각난다..

그당시엔 for문안에 for를 넣으면 되는거 아냐?' 이생각에 진짜 내가 너무 멋있었는뎈ㅋㅋㅋ

 

이 문제는 중첩반복문(반복문안에 또 반복문)을 사용하면 된다.

제일 바깥쪽 for문이 행, 안쪽 for문을 단으로 생각해서 풀면 된다. 

 

public class 구구단1{ 

	public static void main(String[] args) {
		
		int a = 2; 
        int b = 5;
        //2 ~ 5단까지출력

		for(int i = 0; i<10; i++){
        	for(int dan =a ; dan <= b; dan++){
				System.out.print(dan+" * " + i + " = " + dan * i + "   " );
            }
            System.out.println();

        }
		
	}
	
}

 

<결과>

 

더 깔끔한 방법 

		for(int i =1; i<10; i++) { 	
			for(int dan = a; dan<=b; dan++) { //단
				System.out.printf("%2d * %2d = %3d" , dan, i, dan*i );
			}
			System.out.println();
		}