Boost 1.53.0から、多倍長演算ライブラリであるBoost.Multiprecisionが入りました。 このライブラリは、整数と浮動小数点数をサポートしていますが、今回は整数の方を紹介します。 以下は、多倍長整数で階乗を求める例です。 #include <iostream> #include <boost/multiprecision/cpp_int.hpp> using namespace boost::multiprecision; int main() { // 128ビット整数 int128_t v = 1; // 20の階乗を求める for (unsigned i = 1; i <= 20; ++i) v *= i; std::cout << v << std::endl; // 任意精度整数 cpp_int u = 1; // 100の階乗を求める for (unsig
倍数の見極め方は色々あります。 例えば、3の倍数の見極め方は、 「ある数 の各桁の数の合計が3の倍数であれば、ある数 は3の倍数」です。 123 で考えると、1+2+3 = 6 となり、6 は3の倍数なので、123 は3の倍数となります。 4の倍数、5の倍数、8の倍数なども見極め方は簡単ですし有名です。 では、7の倍数の見極め方はどうでしょうか。 あまり使わないので、覚えていない人が多いのではないかと思います。 私もよく忘れてしまいますので、備忘録として残しておきたいと思います。 7の倍数の見極め方は、 「ある数 の一桁目( とします)を取り除いた数から ×2 を引いた数が7の倍数であれば、ある数 は7の倍数」です。 具体例として、1099 で考えてみます。 まず一桁目(9)を取り除きます。 1099 → 109 となります。 次に 109 から取り除いた数×2 を
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く