728x90
반응형
문제 : http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=136&sca=10d0
문제
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
반응형
최근댓글