Fibonacci Numbers

10 views
Skip to first unread message

Midori

unread,
Apr 2, 2012, 12:36:19 AM4/2/12
to jaylang
피보나치 수열은 다음과 같습니다.

1 1 2 3 5 8 13 21 34 ...

유명하면서도 많은 특징을 가지고 있는데 황금비로 유명하고 파스칼의 삼각형에도 피보나치 수가 있습니다.

제가 짧은 지식으로 피보나치 수를 출력하는 함수를 만들어 보았습니다.


fb=: 3 : 0
f=. {:,+/
t=. {: @:(f^:(<:y)) 0 1

함수값을 출력하는 것에는 문제가 없습니다.

하고 싶은 것은 제가 만든 함수(fb)의 intrinsic rank가 _ _ _ 인데 monad의 그 값을 0로 바꿀 수 있도

함수 내용을 수정할 수 있는지 의문이 들어서 의견을 구하고자 글을 씁니다.

intrinsic rank를 _ 에서 0로 바꿔서

fb 1 2 3 4 5 의 출력값이 fb 1 1 2 3 5 가 나오로록 하고 싶습니다. 아니면 입력값의 1 2 3 4 5를 하
나의 리스트로 인식하여 예상외의 값이 나옵니다.

피보나치 수를 출력하는 다른 방법도 공유했으면 합니다.


Yeonseung Kim

unread,
Apr 2, 2012, 12:59:23 AM4/2/12
to jay...@googlegroups.com
fb"0 이라고 명시적으로 rank를 지정하시면 됩니다.

피보나치 수열이 vocabulary - power(^:)에 나오는데, 거기서는 아래와 같은 방식으로 합니다.

f =: 13 : '{. +/\@|.^:(y) 0 1'
   f"0 [ >:  i. 20
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765
   (f"0) b. 0
0 0 0

2012/4/2 Midori <hit...@gmail.com>


--
Google 그룹스 'jaylang' 그룹에 가입했으므로 본 메일이 전송되었습니다.
이 그룹에 게시하려면 jay...@googlegroups.com(으)로 이메일을 보내세요.
그룹에서 탈퇴하려면 jaylang+u...@googlegroups.com로 이메일을 보내주세요.
더 많은 옵션을 보려면 http://groups.google.com/group/jaylang?hl=ko에서 그룹을 방문하세요.


Midori

unread,
Apr 2, 2012, 4:14:52 AM4/2/12
to jaylang, Yeonseung Kim

이해했습니다.

부사 \ 를 사용해서 list의 갯수를 유지시키면서 계속 더해갈 수 있는 것이군요!

그것을 저는 tail 과 append 의 조합으로 실현 했구요.

fb"0 는 앞으로도 쓸모가 있을 것 같고, 함수 정의에 사용하는 13 은 잘 모르지만 사용하면 좋다고... 기억만 하고 있습
니다.

감사합니다 ^^

Reply all
Reply to author
Forward
0 new messages