以下の内容はhttps://inamori.hateblo.jp/entry/20100410/p1より取得しました。


Project Euler 16

http://projecteuler.net/index.php?section=problems&id=16


Problem 13で作った多倍長整数クラスを使えば簡単。足し算を繰り返すだけ。その後各桁の数字をatで拾ってくる。

itertools.h

#include <iostream>
#include "itertools.h"
#include "longint.h"

using namespace std;
using namespace itertools;

int main() {
    const int   N = 1000;
    longint n = last(take(N, iterate(
                [] (longint x) { return x + x; }, longint(2))));
    cout << sum(map([&n] (int k) { return n.at(k); },
                            range<>(n.length()))) << endl;
}



以上の内容はhttps://inamori.hateblo.jp/entry/20100410/p1より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14