会社で少し盛り上がった Project Euler をやってみる 016

Problem 016

215 = 32768 であり, 各位の数字の和は 3 + 2 + 7 + 6 + 8 = 26 となる.
同様にして, 21000 の各位の数字の和を求めよ.

https://projecteuler.net/problem=16


Answer 016 (Python)

急にこんな簡単な問題が出てくる。
面白さも一切ない。

import sys


class Problem16:

    def main(self, n):
        return sum(int(i) for i in str(2 ** n))


if __name__ == '__main__':
    num = 1000
    if len(sys.argv) == 2:
        num = sys.argv[1]
    p = Problem16()
    print(p.main(int(num)))

(参考) Project Euler とは

Project Euler はプログラミングで数学の問題を解くサイトです。問題は600問以上あるので、勉強に使うのも良し、楽しむのも良しです。

サイトに登録すれば、解答を submit することができ、その場であっているか判定してくれます。

また、問題だけであれば、日本語に翻訳された Wiki もあるのでそちらを見ながらやると捗ると思います。

Project Euler(日本語訳)

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.