Week2-8 | fibonacci sequence _and _grouping sequence.py

Seongeun·2023년 6월 22일

week2

목록 보기
8/9
post-thumbnail

Week2-8. Fibonacci sequence(피보나치 수열), Grouping sequence(군수열)

  • Fibonacci sequence(피보나치 수열): 첫째항은 0, 두번째 항은 1의 값을 가지고 이후의 항부터는 두개 전 항들의 합으로 나타내어지는 수열이다. {0,1,1,2,3,5,8,....}
 #예제: 피보나치 수열에서 n항의 값과 n항까지의 합을 출력하는 프로그램 코드

 inputN = int(input('N th : '))

 valueAn = 0
 sumN = 0

 valuePreN2 = 0
 valuePreN1 = 0

 fibonacci = []  #list 생성

 n = 1

 while n <= inputN:
    
     if n == 1 :
         valueAn = 0
         fibonacci.append(valueAn)
         sumN += valueAn
        
         valuePreN2 = 0
         valuePreN1 = 0
         n += 1
        

     if n == 2:
         valueAn = 1
         fibonacci.append(valueAn)
         sumN += valueAn
        
         valuePreN2 = 0
         valuePreN1 = 1
         n += 1
        

     else:

         valueAn = (valuePreN1 + valuePreN2)  #피보나치수열 일반항
         fibonacci.append(valueAn)
         sumN += valueAn
 
         valuePreN2 = valuePreN1              #n-1번째 항의 n-2번째 항이 된다.  
         valuePreN1 = valueAn                 #n번째 항이 n-1번째 항이 된다.

         n += 1
 
  print('Fibonacci sequence upto {} : {}'.format(inputN,fibonacci))
  print('Sum of Fibonacci sequence upto {} : {}'.format(inputN,sumN))
  • Grouping sequence(군수열): group으로 나누어졌을 때 일정한 규칙이 성립하는 수열이다.
 #예제: 군수열{1/1,1/2,2/1,1/3,2/2,3/1,1/4,2/3,3/2,4/1,....}을 n번째 항까지 출력하는 코

 inputN = int(input('N th : '))

 group = 1     #군
 n = 1         #항

####  groupSeq = [] #군수열 list 생성
 

 while n <= inputN:

     for i in range(1, group+1):  #군의 순서만큼 반복한다.
         groupSeq.append(str('{}/{}'.format(i,group -i + 1)))

         n += 1

     group += 1

 print('Group sequence : {}'.format(groupSeq))

0개의 댓글