今日、技術グループで次のような質問を見ました: 3 または 5 で割り切れる 1000 以内の数値の合計を求めてください。その中で、非常に興味深い解決策 2 を見つけました。最初はかなり混乱しましたが、しばらく考えてアドバイスをもらった後、啓発された気分になりました。
最初の解決策は非常に一般的で、1000 以内のすべての数値を調べます。3 または 5 で割り切れる数値がある限り、それらを合計し、最終的に合計を求めます。
私が興味を持っているのは、算術等差数列を巧みに使用した 2 番目の解決策です
許容誤差のある等差数列の最初の項の系列は次のとおりです:
2 番目の方法では、最初のステップで (a1+an)/3*3 を使用するため、3*(1+333)*333/2 になります。このステップでは、すべての項を 3 で割って加算します。
同様に、sum(Math.floor(input-1)/5))*5 では、5 で割ることができる 1000 以内のすべての項目を合計します。最後に、3 で割ることができる繰り返しの数値があり、 5. 15 など、繰り返し 15 で割られる数字を引き算すると、1000 以内で 3 または 5 で割り切れる数字の合計が得られます。
これで、1000 以内の 3 または 5 で割り切れる数値の合計を求める JS 実装の紹介は終わりです。お役に立てば幸いです。