파이썬 응용 문제 푸는데 어렵네요? 제귀함수
#문제) 짝수면 2로 나누고 홀수면 3을 곱한뒤 +1을 한다 이런 과정을 계속하면 최종적으로 1에 다다른다.
#이 때까지 걸린 횟수가 정해진 범위에서 정해진 횟수 이상의 숫자를 출력한다.
#이 문제에 대해서 나는 트리를 만들어 풀면서 나오는 중복을 최대한 피해볼 생각이다.
#트리는 왼쪽은 (n-1)/3, 오른쪽은 n*2
end = 1000
limit = 50
class Tree:
def __init__(self,data=1,level=0, left_child=None,right_child=None):
self.data = data
if(self.data>end):
self.data = None
self.left_child = left_child
self.right_child = right_child
self.level =level
start = int(input("시작점을 입력하시오: "))
end = int(input("끝점을 입력하시오: "))
def makeTree(data = 1,level = 0):
tree = Tree(data)
tree.right_child = tree.data *2
tree.left_child = (tree.data-1)/3
tree.level = level+1
if tree.level>limit:
print(tree.data)
if (tree.data-1)/3 != int((tree.data-1)/3):
tree.left_child = None
makeTree(tree.right_child,tree.level)
makeTree(tree.left_child,tree.level)
test = makeTree()
파이썬 문제는 http://ask.python.kr
파이썬 문제는 http://ask.python.kr 에 물어보시면 답변을 얻으실 듯.
세벌 https://sebuls.blogspot.kr/
댓글 달기