Algorithm/Jungol (도형만들기1)

[1341] 구구단2

whereareyoung 2023. 9. 12. 10:19

문제

원하는 구구단의 범위를 입력받아 해당 구간의 구구단을 출력하는 프로그램을 작성하시오.

 

 

<처리조건>

(1) 구간의 처음과 끝을 입력받는다. 

(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다. 

    즉, 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다.​ 

입력

구구단의 시작 범위 s와 끝 범위 e가 주어진다. (s와 e는 2부터 9사이의 정수)

출력

시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 

아래 출력 예와 같이 줄을 맞추어 출력해야 한다.

 

식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.

 

 


예제 입력 

4 3

 

예제 출력

4 * 1 =  4   4 * 2 =  8   4 * 3 = 12
4 * 4 = 16   4 * 5 = 20   4 * 6 = 24
4 * 7 = 28   4 * 8 = 32   4 * 9 = 36

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


처리조건

(1) 구간의 처음과 끝을 입력받는다.

(2) 입력된 구간은 반드시 처음 입력 값이 끝의 입력 값보다 작아야 하는 것은 아니다.

- 입력된 구간의 범위는 증가하거나 감소하는 순서 그대로 출력되어야 한다. 

- 3, 5 가 입력 될 수 도 있고 5, 3 이 입력 될 수 도 있다는 뜻이며 내림차순, 오름차순이 둘다 가능하다는 뜻이다. 

 

입력형식

구구단의 시작 범위 s, 와 끝 범위 e를 입력받는다. (s와 e는 2부터 9사이의 정수)

 

<입력의 설계>

범위를 맞춰서 입력받으며, 입력범위를 벗어났을 경우에 따로 출력할 형식이 없어서 1291 구구단 문제보다 단순한 편이다.

	while (1)
	{
		scanf("%d %d", &s, &e);
		if (s >= 2 && s <= 9 && e >= 2 && e <= 9) break;
	}

 

출력형식

시작 범위와 끝 범위사이의 구구단을 출력하되 모든 값과 부호 사이는 공백으로 구분하여 아래 출력 예와 같이 줄을 맞추어 출력해야 한다. 식과 식 사이는 3개의 공백으로 구분하고 구구단 사이에는 한 줄을 비워 두도록 한다.

- j 가 3의 배수일때 마다 줄을 바꾸면 됨 

- 1단이 더 끝나면 줄을 한번 더 바꾸면 됨 

 

1291 문제와 비슷한데, 형식만 바꾸면 되어서 아주 쉬운 문제이다. 

 

제출답변

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
	int s, e;
	int i, j;


	while (1)
	{
		scanf("%d %d", &s, &e);
		if (s >= 2 && s <= 9 && e >= 2 && e <= 9) break;
	}

	if (s < e)
	{
		for (i = s; i <= e; i++)
		{
			for (j = 1; j <= 9; j++)
			{
				printf("%d * %d = %2d   ", i, j, i * j);
				if (j % 3 == 0) printf("\n");
			}
			printf("\n");
		}
	}

	else
	{
		for (i = s; i >= e; i--)
		{
			for (j = 1; j <= 9; j++)
			{
				printf("%d * %d = %2d   ", i, j, i * j);
				if (j % 3 == 0) printf("\n");
			}
			printf("\n");
		}
	}

	return 0;
}

 

 

'Algorithm > Jungol (도형만들기1)' 카테고리의 다른 글

[2046] 숫자사각형4  (0) 2023.09.12
[1304] 숫자사각형3  (0) 2023.09.12
[1856] 숫자사각형2  (0) 2023.09.12
[1303] 숫자사각형1  (0) 2023.09.12
[1291] 구구단  (0) 2023.09.12