728x90
반응형

문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=136&sca=10d0

 

JUNGOL

 

www.jungol.co.kr

문제

3자리로 이루어진 자연수 3개를 입력받아 그 수들의 곱을 구한 후 그 결과값의 각 자리 숫자들중 0을 제외한 모든 수들의 곱을 구하여 출력하는 프로그램을 재귀함수로 작성하시오.

 

입력 예

100 123 111 

출력 예

270

 

Hint!

입력예제의 세 수의 곱은 1365300이다. 그러므로 1 * 3 * 6 * 5 * 3 = 270 1의 자리수 * 1의 자리를 제외한 남은 자리수의 곱 (단 1의 자리수가 0이면 1로 바꾸어서 곱한다.)

 

 

 

코드 : 

#include <stdio.h>

int print(int sum);

int main()
{
	int num1,num2,num3;
	int sum=0;
	scanf("%d %d %d",&num1,&num2,&num3);
	sum = num1*num2*num3;
	printf("%d",print(sum));
	
	return 0;	
}

int print(int sum)
{
	if(sum == 0)
		return 1;
	
	int num;
	num = sum%10;
	
	if(num==0)
		num=1;
	
	sum = sum/10;
	
	return (num*print(sum));
}
728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기