분류 전체보기 (165)
과학 꼼지락 (35)
수학 꼼지락 (41)
 시 꼼지락 (21)
언어 꼼지락 (6)
잡다 꼼지락 (61)
비밀 꼼지락 (0)
BLOG main image





언어 꼼지락
2009.07.18 10:30
<코딩연습>

펙토리얼에 관한 두가지 함수.

def factorial_01(num): # factorial 이라는 변수를 계속적으로 곱해가는 방법
factorial = num
while num > 1:
num = num - 1 # 이 두줄의 순서를 바꿔서, 곱하는 숫자를 num -1로 할 경우
factorial = factorial * num # 보기는 좋으나, 뺄셈을 두번하므로, 실행시간이 길어진다.
return factorial

def factorial_02(num): # 재귀적으로 정의한 함수. python에 재귀 횟수의 제한이 있어
if num == 0: # 3000!을 계산하지 못했다.
return 1
else:
return num * factorial_02(num-1)

02함수 경우에는 입력받는 값을 정수라 제한하지 않았기 때문에, float을 받을 경우, 무한루프생성.
01함수 경우에는 1보다 작아지면 함수가 반복을 끝냄.
두 코딩간의 속도차이는 실감하기 어려웠다.

'언어 꼼지락' 카테고리의 다른 글

[python] factorial  (0) 2009.07.18
[python] R_m 의 곱셈표  (0) 2009.07.14
[Python] 만화한장  (2) 2008.12.29
[Python]List Counting  (0) 2008.12.28
이름   
비밀번호 
홈페이지 
비밀글