728x90
#include <stdio.h>
int main(void) {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d\n", a * (b % 10));
    printf("%d\n", a * ((b / 10) % 10));
    printf("%d\n", a * (b / 100));
    printf("%d\n", a * b);
    return 0;

}

이 문제는 약간 생각을 할 필요성이 있는 문제이다.

첫번째로 곱셈이 어떻게 진행되는가이다.

그로고 이를 어떻게 곱해주는 방식을 택해야 할 것인가가

문제라고 볼 수 있다.

생각을 해보면

a에서 b를 곱할 때

b가 밑에 있다. (문제 그림참조)

그러면 일의자리수는 나머지를 통해 이를 도출해 내고

다음으로는 십의자리를 위해 10로 나누고 또다시 나머지로 하면 된다.

그리고 마지막인 백의자리수를 위해 100을 나누는 방식을 채택한다.

 

최종적으로 곱한 값까지 출력시키면

곱셈의 과정이 완전히 드러나게 된다.

이렇게 진행을 하면된다.

https://www.acmicpc.net/problem/2588

728x90

+ Recent posts