Simple Gifts

組込みソフトウェア開発をやっている駆け出しエンジニアが、テクノロジー関連のお勉強メモを書いていくブログ。

【Python】Project Euler - Problem01

プロジェクトオイラーという、数学の問題をプログラミングで解いていこう、という練習問題集があります。

Pythonの練習用にこれをやり始めてみたので、記録として作ったプログラムを載せていきます。 これがベストな解法とは思ってなくても、自分にとっては(制限時間ありの)今のベストです。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

##############################################################################
def _IsThreeTimes(num):
    if num % 3 == 0:
        return True
    else:
        return False

##############################################################################
def _IsFiveTimes(num):
    if num % 5 == 0:
        return True
    else:
        return False

##############################################################################
def eval(max):
    list = []

    for i in range(1, max):
        if _IsThreeTimes(i) is True:
            list.append(i)
        elif _IsFiveTimes(i) is True:
            list.append(i)
        else:
            pass

    print("NUM(" + str(max) + ") = " + str(len(list)))
    print("SUM(" + str(max) + ") = " + str(sum(list)))

##############################################################################
def main():
    eval(10)
    eval(1000)

###############################################################################
if __name__ == '__main__':
    main()

http://odz.sakura.ne.jp/projecteuler/