티스토리 뷰

728x90
반응형

정보 올림피아드 12338번 구구단 1

https://jungol.co.kr/problem/12338

 

구구단 1 · Bronze V

Bronze V · 133 solved users · 479 submissions

jungol.co.kr

 

* 사용언어 : C언어, C++

 

1. 문제

1 이상 9 이하인 두 정수 A, B가 주어졌을 때

A단부터 B단까지 순서대로 출력

 

2. 풀이

n단을 출력하는 함수를 만들고 반복하여 호출하도록 구현했습니다.

n단의 출력은 i를 1부터 9까지 반복하면서 [n] *  [i] =  [n * i]를 출력하면 됩니다.

 

추가로 문제에서 A가 B보다 큰 경우가 있다고 했기 때문에

step 변수를 선언하여 +1을 할지 -1을 할지 결정하게 했습니다.

이후 반복문에서 i의 증감은 step 변수를 활용하여 구현하면 됩니다.

 

3. 코드

#ifndef _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_WARNINGS
#endif

#include <stdio.h>

void printTable(int n) {
	for (int i = 1; i < 10; ++i) {
		printf("%d * %d = %d\n", n, i, n * i);
	}
	printf("\n");
}

int main() {
	int a, b;
	scanf("%d %d", &a, &b);

	int step = a < b ? 1 : -1;
	for (int i = a; i != b + step; i += step) {
		printTable(i);
	}
	return 0;
}

 

728x90
반응형
댓글