본문바로가기
주니어폴리매스 문제
문제를 찾고 일반화하세요!
[주니어폴리매스 문제] 코딩으로 '수열' 정복하기
수학동아 2019.11.10

코딩 수학 11번째 시간입니다. 다들 코딩을 이용해 수학 문제를 효율적으로 풀고 계신가요? 간단한 수학 문제는 손으로도 풀고 코딩으로도 풀 수 있지만, 실생활 문제나 어렵고 복잡한 함수가 포함된 수학 문제는 손으로 풀기 어려운 경우가 많아요. 코딩을 활용하면 쉽게 해결할 수 있으니 열심히 익히고 활용해 보세요~. 

코딩 명령어를 익힌 뒤에는 해당 코딩 명령어로 풀 수 있는 수학 문제를 찾아 댓글로 달고 친구들과 토론해 보세요!

 

 

 

 

자연의 규칙을 탐구하는  ‘수열’

 

 

이번에 코딩으로 정복해 볼 수학 개념은 수열이에요. 수열은 순서가 있도록 수를 나열하는 것을 말합니다. 이때, 수열에서 각각의 수를 '항'이라고 하며, 나열된 항에 대하여 수식으로 표현한 식을 일반항이라고 해요. 예를 들어, 수열 {an} = { 1, 3, 5, 7, 9, 11 } 은 첫 번째 항부터 6번째 항까지의 홀수를 나열한 수열이며, 일반항 an=2n-1 입니다.또한, 수열의 모든 항을 더한 것을 급수라고 해요,

 

수열에 대한 연구는 고대 그리스의 피타고라스 학파에서 처음 시작하였어요, 고대 그리스 사람들은 경험을 통해 잘 어울리는 소리가 나는 현의 길이에 대한 비율(1:\frac{2}{3}:\frac{1}{2})을 알고 있었어요. 피타고라스 학파에서는 이 비율의 역수인 1:\frac{3}{2}:2가 등차수열을 이룬다는 것을 발견하고, 이러한 현의 길이에 대한 비율을 조화수열이라고 불렀습니다. 다른 연구에 대한 예로 아르키메데스는 등비수열의 합인 등비급수를 이용하여 포물선의 면적을 구했어요. 

 

자연 속에서의 수열을 연구한 이탈리아 수학자 레오나르도 피보나치(1175~1250).

 

다양한 수열 중에서, 자연 속에서 발견할 수 있는 수열로 우리에게 잘 알려져 있는 ‘피보나치 수열’이 있어요. 처음 피보나치 수열이 언급된 문헌은 기원전 5세기 인도의 수학자 핑갈라가 쓴 책이에요. 13세기 이탈리아의 상인이자 수학자인 ‘레오나르도 피보나치(Leonardo Fibonacci)’는 지중해를 여행하면서 그 당시에 가장 발전한 아라비아의 수학을 접하고 이를 연구하여 유럽에 소개하였어요. Ⅰ,Ⅱ,Ⅲ과 같은 로마 숫자를 사용하던 유럽에, 우리에게 아라비아수로 잘 알려진 0부터 9까지의 숫자와 자릿수를 소개하여 대중화시킨 사람도 바로 피보나치입니다. 그는 토끼의 개체수의 증가를 예시로, 자연 속에서 발견할 수 있는 수열을 연구하였어요. 

 

*피보나치 수열*

첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열

 

 자연 속에서 발견할 수 있는 수열인 피보나치 수열 외에도 우리 주변에서는 쉽게 수열을 찾아볼 수 있어요. 예를 들어 다보탑은 건축물과 탑 사이의 관계를 1:2:4:8이라는 등비수열을 이용하였습니다. 또한 현재도 음악에서 쓰이고 있는, 건반 악기를 중심으로 1옥타브를 반음씩 12등분한 평균율도 음정은 등차수열을 이루고 진동수는 등비수열을 이뤄요.

 

이번 호에서는 코딩 명령어를 이용해 수열을 계산해보고 우리 주변에서 수열을 통해 설명할 수 있는 규칙들을 찾아보도록 해요!

 

 

 

 

.

.

.

.

.

 

 

 

소수

[a .. b], sum, fibonacci

 

 

수열과 관련된 코딩 명령어는 다음과 같다. Sage 코딩창에 명령어를 입력해 원하는 수열을 구해보자. 

 

 

 

<1> 명령어 살펴보기

 

a부터 b까지의 정수들을 나타낸다. 예를 들어 [1 .. 15] 는 1부터 시작하여 15까지의 정수를 출력해준다.

 

a, a+1, a+2, ..., b-2, b-1, b

 

[a .. b]

 

 

 

❷ sum() 명령어의 괄호 안에 더하고자 하는 수열의 일반항들을 입력하면, 그 합을 계산하여 보여준다. 

 

 

an = 2n-1

a1 + a2 + a3 + ... + a10

 

sum(2n-1 for n [1 .. 10])

 

 

 

❸ fibonacci() 명령어의 괄호 안의 n에 수를 입력하면, 피보나치 수열의 n번째 항을 계산하여 보여준다.

 

 

an=an-1+an-2 (n≥3)

a1=1, a2=1, a3=2, ...

 

 fibonacci(n)

  

 

 

<2> Sage에서 명령어 실행하기

 

 

 

 

 

 

 

 

<3> 교과 연계 코너

 

토끼가 다음과 같이 번식하는 조건을 가질 때, 12번째 달의 토끼의 수는 몇일까?

첫 달에는 새로 태어난 토끼 한 쌍만이 존재한다 /  두 달 이상이 된 토끼는 번식 가능하다 / 번식 가능한 토끼 한 쌍은 매달 새끼 한 쌍을 낳는다 / 토끼는 죽지 않는다

 

첫 번째 달에는 새로 태어난 토끼 한 쌍이 있고, 두 번째 달에는 그대로 토끼 한 쌍, 세 번째 달부터는 이 토끼 한 쌍이 새끼를 낳게 되어 토끼가 2쌍이 되고, 네 번째 달에는 3쌍, 다섯 번째 달에는 5쌍이 된다. 그러므로 각 달 에 따른 토끼의 쌍의 수는 피보나치 수열의 일반항을 따르며, 따라서 12번째 달의 토끼의 수는 피보나치 수열의 12번째 일반항에 2를 곱하여 144 × 2 = 288 마리이다.

 

 

 

 

 

 

-----------------------

 

★도전 문제☆

 

① 피보나치 수열의 일반항을 구해보자.

 

 

16세기 스코틀랜드의 수학자 네이피어는 등차수열과 등비수열 간의 관계 속에서 규칙성을 발견하여, 크고 복잡한 계산을 쉽게 할 수 있는 로그(log, logarithm)를 발명하였다. 코딩을 통해 등차수열과 등비수열을 동시에 나열해보고 관계 속의 규칙성을 발견해 보자.

 

 

수열과 관련된 명령어로 해결할 수 있는 문제를 찾아 폴리매스 홈페이지에 올리고 친구들과 토론해보자.

 

 

 

-끝-

 

 

 

 

 

  •  
    je Lv.1 2019.11.12

    코딩으로 수열을 공부하니까 어렵게만 느껴졌던 수열이 재밌게 다가오네요ㅎㅎ

    댓글 작성하기 좋아요0 댓글수0
  •  
    이용현 Lv.1 2019.11.12

    금융에서 수열은 이자계산 할 때  매우 중요하게 사용되는데,

    코딩으로 학습이 가능하니 좋은 것 같습니다.

    댓글 작성하기 좋아요0 댓글수0
  •  
    21세기오일러 Lv.10 2019.11.13

    개미 수열의 n번째 항을 구하는 코딩은 어떻게 해야 할까요?

    댓글 작성하기 좋아요0 댓글수0
  •  
    디듀우 Lv.6 2019.11.15

    점화식으로 수열을 정의하는 기능은 없나요?

    댓글 작성하기 좋아요0 댓글수0