アカウント名:
パスワード:
アルゴリズムや視認性、理解性、パフォーマンスはさておき、計算方法は・数だけループ(for, while, Do-while)・数だけ再帰・指定された足し算を並べる・最大値+1を、最大数の1/2回かけるくらいがパっと思いついた。
たしかにアルゴリズムとしてはあまり幅が無くて面白くなさそうかも。
# 僕が無能なだけ?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
1から10までの和を求めるプログラム (スコア:3, おもしろおかしい)
こんな人もいました。。。
案外いろいろ出てくるかも
Re: (スコア:0)
面白くなさそうですが。。
Re:1から10までの和を求めるプログラム (スコア:1)
アルゴリズムや視認性、理解性、パフォーマンスはさておき、計算方法は
・数だけループ(for, while, Do-while)
・数だけ再帰
・指定された足し算を並べる
・最大値+1を、最大数の1/2回かける
くらいがパっと思いついた。
たしかにアルゴリズムとしてはあまり幅が無くて面白くなさそうかも。
# 僕が無能なだけ?
Re: (スコア:0)
Re:1から10までの和を求めるプログラム (スコア:1)
> これはループで計算させた後、余談で「Σn = n(n+1)/2 でやるのがいちばん速くて頭がいい。
これをこのまま実際の計算機に適応すると、扱える数値に限界があるので、単純にループで
まわしたほうが、扱える問題(nの大きさ)の範囲が広くなります。unsighec charなら
n=16でオーバーフローします。 ループだと n= 22までOK
n(n+1)でオーバーフローしないように、
nが偶数の場合は n/2 * (n+1)
nが奇数の場合は n * ((n+1)/2) と場合わけしましょう。
> 数学は大事」としめます。
「実際の計算機はうっとおしい」としめします。
# ガウスの伝記で、子供のころに大人と計算競争するところで、これと似た話が出てました。