반응형

이번에는 곱셈을 해볼께요

곱셈... 즉 덧셈이라는 소리죠

초등학교 수업때 지겹도록 본 내용입니다.

1*5 = 1+1+1+1+1 = 5

다른방법이 있을지도 모르겠습니다만, 위의 방식으로 이번 문제를 해결해보도록 하죠.

문제입니다.

READ VALUES FROM IN.A AND IN.B

MULTIPLY THE VALUES

WRITE THE PRODUCT TO OUT

입력값 2개를 받은 후 곱하여 출력하라는 거군요

이해했습니다.

위에서 설명한 방식대로 문제를 풀이하는 걸로 해보죠

입력A를 카운트 하는 것으로 예시를 들겠습니다.

1. 입력A가 0이거나 입력B가 0일 경우 0을 출력한다.

2. 입력 A가 1이상이면 입력B값 임의의 값 X에 더한 후 입력 A의 값에 1을 뺀다.

3. 이후 2를 반복하다가 A가 0이 되는순간 저장된 임의의 값 X를 출력한다.

입니다.


코드로 보도록하죠

1. A의 값을 받아서 0이 아닐경우, 저장합니다.(카운트를 위한 변수)

 그 후 B의 값을 받아서 0이 아닐경우, 2로 2번 보냅니다.(더할 값)

B의 값을 보낸 후 저장된 값을 1 뻅니다.

그 후 0인지 확인을 하여 0일 경우 0을 출력하고 아닐경우 B의 값을 다시 보냅니다.(이하 반복)

2.카운트 값을 받아서 0인지 확인합니다.

0이 아닐경우 SWP 하여 B의 값을 더합니다.(계속 누적합니다.)

0일 경우 SWP 하여 출력합니다.(다음 값을 계산한때 카운트값을 초기화가 됩니다.)

반응형

+ Recent posts