基礎からのPython

最も基本的なプログラムで脳トレとpythonの基礎を復習してみる。
今日のお題は以下の2つ。


1. 任意の入力を受けて、その数値以下の素数をすべてダンプしてみよう

今回は、シンプルに「素数とはなにか」に忠実に実装するだけです。
「素数とは、1 と自分自身以外に正の約数を持たない自然数で、1 でない数のことである。」
プログラムしやすい形に言い換えると、2以上からその数より小さい自然数で割り切れない場合は素数であるって感じかな。

def isPrime(n):
    for i in range(2,n-1):
        if( n%i == 0 ):
            return False
    return True

2. 任意の入力を受けて、その項数分フィボナッチ数列をダンプしてみよう

数式で書くとこんなかんじか。
 f(n) = f(n-2) + f(n-1)    ( ただし、 f(1)=f(2)=1, n<=3 )

この式をそのまま書いちゃえばいいんです。

def fibonacci(n):
    # f(n) = f(n-2) + f(n-1), 3<=n, f(1) = 1, f(2) = 1
    if n <= 2:
        return 1
    
    return fibonacci(n-2) + fibonacci(n-1)
以上!寝る。

コメント

このブログの人気の投稿

Callback関数を知らん人がまず理解すべきことのまとめ。

C言語でBluetoothスタックを叩きたい人のBluetooth開発入門その1

構文エラー : ';' が '型' の前にありません