JavaScript の非常に大きな数値 質問する

JavaScript の非常に大きな数値 質問する

私はプロジェクトオイラーの問題に取り組んでいます(現在質問13)。

この問題では、すべて次のような大きさの 100 個の数字の合計の最初の 10 桁を見つける必要があります。

91,942,213,363,574,161,572,522,430,563,301,811,072,406,154,908,250

Java の BigInteger のようなものを使用できると思いますが、JavaScript で問題を解決し始めました (仕事のために js の能力を高めようとしています)。この問題を解決するためにも、JavaScript を使い続けたいと思います。

可能であれば、純粋な JS にこだわりたいと思います。

ベストアンサー1

Javascript には最近、新しいプリミティブ データ型が追加されましたBigInt(2020 年 1 月時点のステージ 4 提案)。https://github.com/tc39/proposal-bigint

Chrome、Firefox、その他のブラウザも新しいバージョンでこれをサポートし始めています(ここで互換性を確認してください)、他のブラウザではまだ実装中です。

https://developers.google.com/web/updates/2018/05/bigint

基本的には、次のようなリテラルを使用して宣言できます。

var a = 1n;

または

var b = BigInt('22222222222222222222222222222222');

数学演算子はBigIntとNumber間の自動変換を行わないので、

1 + 1n

エラーが発生します。

おすすめ記事