다음과 같은 프로그램 소스 및 문제를 해결한다.
1. factorial(계승)의 값을 반복적/재귀적 두 가지 방법을 이용하여 구하는 프로그램을 각각 작성하고,
2. 컴퓨터로 정확하게 구할 수 있는 최대 n값과 n! 값 또한 구한다.
3. 또한, 만약 같은 n값에 대해서 계승 값을 구하는데 수행시간의 차이가 나는 경우 그 의미를 논의해본다.
본문일부/목차
(1) 반복적 정의에 의한 factorial 함수
int fact(int n)
{
int i, f=1;
for (i=n; i>0; i--)
f*=i;
return f;
}
: 주어진 n에 대하여 n!을 구한다.
n=0인 경우
for룹은 조건문이 맞지 않아 돌아가지 않지만
f의 초기값을 1로 설정해 놓았기 때문에 f=1을 리턴시킨다.
이는 곧 0!=1을 만족시킨다.
n>0인 경우
for룹의 i=n :
i=n>0이므로 f=(1×)n
i--
i=n-1 :
i=n-1>0이라면 f=n×(n-1)
i--
…
i=1 :
i=1>0 이므로 f=n×(n-1)×…×1
i--
i=0 :
i값이 0보다 크지 않으므로 for문은 실행되지 않고 나가게 됨.
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시 환불(재충전) 해드립니다.
(단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.
저작권안내
보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기