내 Fibonaccified divisors를 요약하십시오! = 33의 제수는 1과 3이므로 출력은이어야합니다

유명한 피보나치 수열은 F(0) = 0; F(1) = 1; F(N+1) = F(N) + F(N-1)(이 도전을 위해 우리는 0으로 시작합니다)입니다.

챌린지 : n이 주어지면 , n 번째 피보나치 수 의 모든 제수 d 에 대한 모든 d 번째 피보나치 수 의 합을 출력하십시오 . 좀 더 공식적인 표기법을 선호한다면

합

입력 : 양의 정수 n

출력 : 합계

예를 들어을 고려하십시오 n=4. F(4) = 33의 제수는 1과 3이므로 출력은이어야합니다 F(1) + F(3) = 1 + 2 = 3.

내용 n=6, F(6) = 8및 (8)의 약수가 출력되는 1, 2, 4, 8, 그래서있다 F(1) + F(2) + F(4) + F(8) = 1 + 1 + 3 + 21 = 26.

테스트 사례 :

1 => 1
2 => 1
3 => 2
4 => 3
5 => 6
6 => 26

이것은 이며 바이트 단위의 최단 답변입니다. 표준 허점이 적용됩니다.



답변

실제로 5 바이트

F÷♂FΣ

온라인으로 사용해보십시오!

작동 원리

       (implicit) Read n from STDIN.
F      Compute F(n).
 ÷     Get F(n)'s divisors.
  ♂F   Map F over the divisors.
    Σ  Take the sum.


답변

젤리 , 7 바이트

ÆḞÆDÆḞS

온라인으로 사용해보십시오!

설명:

ÆḞÆDÆḞS Main link (Arguments: z)
ÆḞ      zth Fibonacci number's
  ÆD                           divisors'
    ÆḞ                                   Fibonacci numbers'
      S                                                     sum


답변

매스 매 티카, 29 바이트

f=Fibonacci;f@#~DivisorSum~f&


답변

매스 매 티카 단순화 , 14 바이트

Fi@#~Div9`~Fi&

아, 이것은 결국 @MartinEnder의 솔루션과 동일합니다 …


답변

Japt , 11 바이트

MgU â x@MgX

온라인으로 사용해보십시오!


답변

05AB1E , 11 바이트

!ÅFDI<èÑ<èO

온라인으로 사용해보십시오!

설명

!            # factorial of input
 ÅF          # get the list of fibonacci numbers (starting at 1)
             # smaller than or equal to this
   D         # duplicate list of fibonacci number
    I<è      # get the element at index (input-1)
       Ñ     # get the list of its divisors
        <    # decrement each
         è   # get the fibonacci numbers at those indices
          O  # sum


답변

하스켈, 54 바이트

f=0:scanl(+)1f
g x=sum[f!!d|d<-[1..f!!x],mod(f!!x)d<1]

사용 예 : g 6-> 26. 온라인으로 사용해보십시오!