반응형
문제
원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.
<처리조건>
(1) 구간의 처음과 끝을 입력받는다.
(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.
즉, 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.
입력형식
구구단의 시작 범위 s와 끝 범위 e가 주어진다. (s와 e는 2부터 9사이의 정수)
출력형식
시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을 맞추어 출력해야 한다. 식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int s = sc.nextInt(); // 시작 범위
int e = sc.nextInt(); // 끝 범위
// 입력의 시작과 끝의 크기가 정해져있지 않으므로 경우를 나누어 진행.
if (s > e) { // 시작 범위가 더 클 경우
for (int i = s; i >= e; --i) {
for (int j = 1; j < 10; ++j) {
System.out.printf("%d * %d = %2d ", i, j, i * j); // 조건을 위한 %2d
if (j % 3 == 0) {
System.out.println(); // 조건을 위한 3번째 계산마다 개행
}
}
System.out.println(); // n번째의 구구단이 끝난후 개행
}
} else { // 끝 범위가 더 클 경우
for (int i = s; i <= e; ++i) {
for (int j = 1; j < 10; ++j) {
System.out.printf("%d * %d = %2d ", i, j, i * j);
if (j % 3 == 0) {
System.out.println();
}
}
System.out.println();
}
}
}
}
http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=2076&sca=2010
반응형
'Algorithm > 문제 풀이' 카테고리의 다른 글
[JUNGOL_1307 - JAVA] 문자사각형1 (0) | 2020.01.25 |
---|---|
[JUNGOL_1303 - JAVA] 숫자사각형1 (0) | 2020.01.25 |
[JAVA]최대공약수와 최소공배수 - 프로그래머스 (1) | 2019.06.25 |
[JAVA]문자열 다루기 기본-프로그래머스 (0) | 2019.06.24 |
[JAVA]정수 내림차순으로 배치하기 - 프로그래머스 (0) | 2019.06.23 |