되는대로 살자

[C언어 기출문제&풀이] 세자리수 곱셈 본문

2009~2014/C/C++

[C언어 기출문제&풀이] 세자리수 곱셈

malu 2010. 11. 2. 17:32
(세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.
   472…… (1)
 ×385…… (2)
---------------
  2360…… (3)
 3776 …… (4)
1416  …… (5)
--------------
181720…… (6)

(1)과 (2) 위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6) 위치에 들어갈 값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 (1)의 위치에 들어갈 세 자리 자연수가, 둘째 줄에 (2)의 위치에 들어갈 세 자리 자연수가 주어진다.

출력

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

입출력 예

입력

472
385

출력

2360
3776
1416
181720
출처:koi 초등 지역본선 2 번

풀이 : 곱셈을 하는 방법을 떠올려 정리 해보고 그에 대한 코딩을 하도록 한다.
 
소스코드

01 #include <stdio.h>
02   
03 int main()
04 {
05     int num[6],i;
06     scanf("%d %d",&num[0],&num[1]);
07     num[2]=num[0]*(num[1]%10);
08     num[3]=((num[0]*(num[1]%100))-(num[0]*(num[1]%10)))/10;
09     num[4]=(num[0]*(num[1]-(num[1]%100))/100);
10     num[5]=num[2]+num[3]+num[4];
11     printf("%d\n%d\n%d\n%d",num[2],num[3],num[4],num[0]*num[1]);
12 }