acokikoy's notes

最近気になる=[NoCode, Shopify], I am..=[Python, ウクレレ, マニュアル車, CMS] LoveなWebディレクター

毎朝Codewars@2019.05.10(金): Perimeter of squares in a rectangle

毎朝ちびちびCodewars。

Perimeter of squares in a rectangle [5 kyu] www.codewars.com

今日のお題:

""" 
n 番目のフィボナッチ数を Fn とした時、
F0からFnまでの各項を一辺とする正方形の外周の和を返す。

Args:  
    n (int):  フィボナッチ数列
Returns:  
    正方形の外周の和 (int)  
"""

http://i.imgur.com/EYcuB1wm.jpg

コード

me

# Perimeter of squares in a rectangle [5 kyu]
# https://www.codewars.com/kata/perimeter-of-squares-in-a-rectangle

def perimeter(n):
    n0, n1 = 0, 1
    sum = n0 + n1
  
    for _ in range(n):
        n0, n1 = n1, n0 + n1
        sum += n1
    return sum * 4
  • フィボナッチ数を求めて順に足す

文法、関数・メソッドnote

英語
  • perimeter: 図形の周辺の長さ
フィボナッチ数とは

フィボナッチ数 - Wikipedia

n 番目のフィボナッチ数を Fn で表すと、Fn は再帰的に F0 = 0, F1 = 1, Fn + 2 = Fn + Fn + 1 (n ≧ 0) で定義される。これは、2つの初期条件を持つ漸化式で、数列 (Fn)はフィボナッチ数列と呼ばれ、 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, … と続く。最初の二項は 0, 1 であり、以後どの項もその直前の2つの項の和となっている。