week02 피보나치 수열
2. 피보나치에 대응하는 숫자를 차례로 출력한다.
순환으로 만들다 def rabbit2(n):
i = 2
x1 = 0
x2 = 1
x3 = 0
a = [1]
if n >= 2:
while i < n + 1:
x3 = x1 + x2
x1 = x2
x2 = x3
i += 1
a.append(x3)
else:
return a
else:
return a
n = 8
d = rabbit2(n)
print(d)
n = 1
d = rabbit2(n)
print(d)
귀속으로 제작하다
첫 번째 버전: 중복 컴퓨팅 버전def rabbit1(n):
if n <= 1:
return n
else:
return rabbit1(n - 1) + rabbit1(n - 2)
print('Pls print a number')
print(rabbit1(4))
print(rabbit1(12)
제2판a = 0
rab = [0]*100
def rabbit2(n):
global a
a += 1
if n <= 0:
return 0
elif n == 1:
return 1
else:
b = rabbit2(n - 1)
rab[n - 1] = b
c = rab[n - 2]
return b + c
print(rabbit2(100), '{} : a'.format(a))
print(rabbit2(50),'{} : a'.format(a))
귀속 + 수열로 제작하여 더욱 편리합니다. +
def rabbit1(n) :
rab = []
if n <= 1:
return 1
else:
rab.append(1)
rab.append(1)
for i in range(2,n):
rab.append(rab[i - 1] + rab[i - 2])
return rab
print('Pls print a number')
print(rabbit3(1000))
class로 이 문제를 해결하다class Rabbit:
def __init__(self, cap):
self.rab = [0] * cap
self.c = 0
def count(self, n):
self.c += 1
if n <= 0:
return 0
elif n == 1:
return 1
else:
if self.rab[n - 1] > 0:
a = self.rab[n - 1]
else:
a = self.count(n - 1)
self.rab[n - 1] = a
if self.rab[n - 2] > 0:
b = self.rab[n - 2]
else:
b = self.count(n - 2)
self.rab[n - 2] = b
return a + b
수정된classclass Rabbit:
def __init__(self, cap):
self.rab = [0] * cap
self.c = 0
def count(self, n):
self.c += 1
if n <= 0:
return 0
elif n == 1:
return 1
else:
a = self.count(n - 1)
self.rab[n - 1] = a
b = self.rab[n - 2]
return a + b
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
def rabbit2(n):
i = 2
x1 = 0
x2 = 1
x3 = 0
a = [1]
if n >= 2:
while i < n + 1:
x3 = x1 + x2
x1 = x2
x2 = x3
i += 1
a.append(x3)
else:
return a
else:
return a
n = 8
d = rabbit2(n)
print(d)
n = 1
d = rabbit2(n)
print(d)
첫 번째 버전: 중복 컴퓨팅 버전
def rabbit1(n):
if n <= 1:
return n
else:
return rabbit1(n - 1) + rabbit1(n - 2)
print('Pls print a number')
print(rabbit1(4))
print(rabbit1(12)
제2판
a = 0
rab = [0]*100
def rabbit2(n):
global a
a += 1
if n <= 0:
return 0
elif n == 1:
return 1
else:
b = rabbit2(n - 1)
rab[n - 1] = b
c = rab[n - 2]
return b + c
print(rabbit2(100), '{} : a'.format(a))
print(rabbit2(50),'{} : a'.format(a))
귀속 + 수열로 제작하여 더욱 편리합니다.
+
def rabbit1(n) :
rab = []
if n <= 1:
return 1
else:
rab.append(1)
rab.append(1)
for i in range(2,n):
rab.append(rab[i - 1] + rab[i - 2])
return rab
print('Pls print a number')
print(rabbit3(1000))
class로 이 문제를 해결하다
class Rabbit:
def __init__(self, cap):
self.rab = [0] * cap
self.c = 0
def count(self, n):
self.c += 1
if n <= 0:
return 0
elif n == 1:
return 1
else:
if self.rab[n - 1] > 0:
a = self.rab[n - 1]
else:
a = self.count(n - 1)
self.rab[n - 1] = a
if self.rab[n - 2] > 0:
b = self.rab[n - 2]
else:
b = self.count(n - 2)
self.rab[n - 2] = b
return a + b
수정된class
class Rabbit:
def __init__(self, cap):
self.rab = [0] * cap
self.c = 0
def count(self, n):
self.c += 1
if n <= 0:
return 0
elif n == 1:
return 1
else:
a = self.count(n - 1)
self.rab[n - 1] = a
b = self.rab[n - 2]
return a + b
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.