[문제] 구구단 출력

이지현·2024년 3월 4일

1. 다음과 같이 구구단을 세로로 출력하시오.

[2단]
2*1=2
2*2=4
2*3=6
2*4=8
2*5=10
2*6=12
2*7=14
2*8=16
2*9=18
[3단]
3*1=3
3*2=6
3*3=9
3*4=12
3*5=15
3*6=18
3*7=21
3*8=24
3*9=27
:
for (int i = 2; i < 10; i++){

	System.out.printf("[%d단]\n", i);
    
	for (int j = 1; j < 10; j++) {
    	System.out.printf("%d*%d=%d\n", i, j, i*j);
    } // for
    
} // for

2. 다음과 같이 구구단을 가로로 출력하시오.

 [2]단	 [3]단	[4]단	[5]단 ...
2*1=02	3*1=03	4*1=04	5*1=05
2*2=04	3*2=06	4*2=08	5*2=10
:
for (int i = 2; i < 10; i++) {
	System.out.printf("[%d]단\t\t", i);
} // for

System.out.println();

for (int i = 1; i < 10; i++){

	for (int j = 2; j < 10; j++) {
    	System.out.printf("%d*%d=%02d\t", j, i, i*j);
    } // for
    
	System.out.println();
    
} // for

3. 다음과 같이 구구단을 출력하시오.

 [2]단		 [3]단		 [4]단		
2*1=02		3*1=03		4*1=04	
2*2=04		3*2=06		4*2=08	
2*3=06		3*3=09		4*3=12	
2*4=08		3*4=12		4*4=16	
2*5=10		3*5=15		4*5=20	
2*6=12		3*6=18		4*6=24	
2*7=14		3*7=21		4*7=28	
2*8=16		3*8=24		4*8=32	
2*9=18		3*9=27		4*9=36	

 [5]단		 [6]단		 [7]단		
5*1=05		6*1=06		7*1=07	
5*2=10		6*2=12		7*2=14	
5*3=15		6*3=18		7*3=21	
5*4=20		6*4=24		7*4=28	
5*5=25		6*5=30		7*5=35	
5*6=30		6*6=36		7*6=42	
5*7=35		6*7=42		7*7=49	
5*8=40		6*8=48		7*8=56	
5*9=45		6*9=54		7*9=63
:
for (int k = 1; k <=3; k++) {
	
    // 단 출력
	for (int dan = 3*k-1; dan <= 3*k+1 && dan != 10; dan++) {
		System.out.printf(" [%d]단\t\t", dan);
	} // for
	System.out.println();
			
	// 구구단 출력
	for (int i = 1; i <= 9; i++) {
		for (int dan = 3*k-1; dan <= 3*k+1 && dan != 10; dan++) {
			System.out.printf("%d*%d=%02d\t", dan, i, dan*i);
		} // dan for
		System.out.println();
	} // i for
    
    // 개행
	System.out.println();
    
} // for

해설
k = 1 - [2][3][4]
k = 2 - [5][6][7]
k = 3 - [8][9]

2, 5, 8 == 3 * k - 1
4, 7 == 3 * k + 1

profile
병아리 개발자

0개의 댓글