BaekJoon/C
[BaekJoon/C] 백준 2588번 곱셈
Gabii_Y
2019. 12. 24. 16:49
반응형
이번 포스팅은 백준 알고리즘 사이트의 2588번 곱셈 문제를 C 언어로 코딩해보도록 하겠습니다. 아래 url로 접속하시면 문제를 볼 수 있습니다.
https://www.acmicpc.net/problem/2588
이번 포스팅은 입출력과 사칙연산 단계의 문제입니다.
이 문제는 세 자리인 두 수를 입력 받아 두 수의 곱셈 과정을 출력하는 문제입니다.
문제 설명에도 나와있듯이 세 자리 수를 곱할 때는 3번의 곱셈을 하기 때문에 두 번째로 입력받은 수를 각 자리마다 잘라서 첫 번째 수와 연산하는 과정을 보여야 한다고 보시면 됩니다.
1
2
3
4
5
6
7
8
9
10
11
|
#include <stdio.h>
int main() {
int inp1, inp2;
int out1, out2, out3, res;
scanf("%d %d", &inp1, &inp2);
out1 = inp1 * ((inp2%100)%10);
out2 = inp1 * ((inp2%100)/10);
out3 = inp1 * (inp2/100);
res = inp1 * inp2;
printf("%d\n%d\n%d\n%d", out1, out2, out3, res);
}
|
두 개의 세 자리 수를 scanf 함수를 통해 inp1과 inp2로 입력 받고, 두 수의 연산 과정을 보이기 위해 out1, out2, out3와 최종값을 보이기 위한 res 변수를 선언해줍니다.
out1은 inp1과 inp2의 1의 자리를 곱한 결과를 보여야 하기 때문에 inp2의 1의 자리를 만들 수 있도록 ((inp2%100)%10)으로 계산하여 줍니다. 각 자리 수를 구하여 inp1과 곱한 값을 각 out 변수에 저장해주고, 최종적으로 두 세 자리 수를 곱한 값을 res에 담아줍니다.
모든 결과를 printf를 통해 출력하면 이 문제를 해결할 수 있습니다.
다음 포스팅에서는 다음 문제를 풀어보도록 하겠습니다.
다음 포스팅에서 봐요 :))
반응형