본문 바로가기

IT/Algorithm

Algorithm: 러시아 농부 곱셈법(a la russe)

// Made by BAMU

#include <stdio.h>


void main(){

int num1,num2,num3;


num3 = 0;


printf("첫번째 수를 입력하세요:");

scanf("%d",&num1);

printf("두번째 수를 입력하세요:");

scanf("%d",&num2);


while( num1 != 1){

if(num1%2 == 1){

num3 = num3 + num2;

}


num1 = num1 / 2;

num2 = num2 * 2;

}

num3 = num3 + num2;


printf("두수의 곱은 %d 입니다.\n", num3);


}


[참고자료]

http://ko.wikipedia.org/wiki/%EA%B3%A0%EB%8C%80_%EC%9D%B4%EC%A7%91%ED%8A%B8_%EA%B3%B1%EC%85%88%EB%B2%95#.EB.86.8D.EB.B6.80_.EA.B3.B1.EC.85.88.EB.B2.95