問題タブ [square-root]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3388 参照

python - 数のパイソンの平方根

これが私のコードです:

私が直面している問題は、root の結果が 5+0j であることです。これは望ましくありません。平方根だけが必要です。どうすればこれを修正できますか?

0 投票する
3 に答える
5415 参照

java - バビロニア法または開平法による平方根?

ウィキペディアの情報に基づいて、数値の平方根を取得するためのバビロニア/ヘロンのメソッドをJavaで実装しています。

現在私は持っています:

出力は次のようになります。

2.828427

2.82842712474619

2.82842712474619

sqrt2メソッドは永久ループになりますが、sqrt1メソッドはfloatで正常に機能するため、これはdoubleでのみ発生します。なぜこれなのかわかりません。したがって、sqrt3メソッドは、doubleを使用する場合の方法のように見えます。

どのメソッドを実装するかについて少し混乱しています。¿バビロニア法は開平法と同じですか。

私が理解していることから、バビロニア法は、正方形の辺が正方形の面積(x)の平方根であるという事実に基づいています。したがって、bh寸法の長方形から始めて、2つの辺の平均(b = b + h / 2)を取得し、この結果を小さい長方形の辺と見なして、もちろん反対側(h = x)を取得できます。 / b)。長方形は、目的の正方形に近づき始めます。これは私がsqrt1、sqrt2およびsqrt3メソッドで行ったことです:

反対側では、ウィキペディアのリンクは、バビロニア/開平法が同じであると述べており、次のように説明しています。

「基本的な考え方は、xが非負実数Sの平方根に対して過大評価されている場合、S / xは過小評価されるため、これら2つの数の平均がより良い近似を提供すると合理的に期待できるということです。」

この実装はsqrt4メソッドで確認できます。

私が見ることができることから、この2つの方法は同じではありませんが、似ています。私が間違っている場合は私を訂正してください。

興味深いのは、私ができないことですwhile (b != h) {。bとhが、sqrt2メソッドで示されているようにdoubleである場合、無限ループになるためです。代わりに私は使用しましたwhile (Math.abs(b - h) > 0.000000000001) {

しかし、私はできます:while (t != r) {sqrt4に示されているようにbとhが2倍になります。

誰かがこの振る舞いを説明してくれれば幸いです。

- - - - - -編集: - - - - - - - - - - - - - - - - - - - -----------------------

提案されているように、両方のアルゴリズムは同じですが、実装が異なります。ただし、次の推奨コードは、x =8のsqrt2と同じようにループします。

それで..他の実装とのsqrt4の違いは何ですか?なぜそれは他の人のように永遠にループしないのですか?

0 投票する
1 に答える
1549 参照

assembly - 定数の平方根 (masm、fasm)

こんにちは、アセンブリ ソースでいくつかの定数を宣言する必要があります。プログラムの特定の部分で、ループを制限するために、これらの定数の 1 つの (整数) 平方根が必要です。私の質問は次のとおりです。それは可能ですか?

これまでのところ、次のようなことを試しました:

もちろん、実行時に計算することもできますが、それは私にとってナンセンスです...そしてもちろん、次のような回避策を実行できます。

しかし、この方法では nMax の完全な 2 乗値しか取得できず、それは私が必要としているものではありません...

ご協力いただきありがとうございます!:)

0 投票する
0 に答える
10871 参照

bit-shift - ビットシフトによる平方根

ビットシフトによる高速な平方根アルゴリズムを研究しています。ウィキペディアのコードに行き詰まりました。

正しい結果を生成できることはわかっていますが、どのようにしてそれを実現するのでしょうか? res = (res >> 1) + bit; という文には特に困惑しています。ここで res を 2 で割る必要があるのはなぜですか? 誰でもこれに光を当てることができますか?感謝!

0 投票する
3 に答える
25217 参照

java - Java で平方根記号 (√) を出力する

Javaで平方根(√)文字をどのように出力するのですか? ユニコードか何かを使用していると思いますか?

0 投票する
2 に答える
2175 参照

ios - iOSにcantorペアリング機能を実装

2 年前に書いた Java でCantor Pairing Functionを実装しています。次に、iOS にさらに移行します。Objective-C でも同じことが必要です。

問題は、少なくとも私の観点からは、Java では自分で行ったBigSqrtクラスを実装する必要があったことです。理論的には、任意のサイズの数値をペアリングできるようになったためです。

私はiOSが初めてなので、Objective-Cのためにすべてのものを再度実装する必要があるのか​​ 、それともすでに実装されているものがあるのか​​ 本当にわかりません。もしそうなら、誰かがObjective-Cの任意のサイズの「整数」に対してCantor Pairing 関数の実装を開始するヒントを教えてもらえますか?

ありがとう

0 投票する
1 に答える
1962 参照

c++ - 固定小数点関数を実装するための平方根の計算

私は固定小数点の平方根を見つけようとしています。次の計算を使用して、整数アルゴリズムを使用して平方根の近似値を見つけました。アルゴリズムはウィキペディアで説明されています: http://en.wikipedia.org/wiki/Methods_of_computing_square_roots

// "one" starts at the highest power of four <= than the argument.しかし、コメントが正確に何を意味するのか、コードで何が起こっているのかを追うことができません。引数の平方根を計算するコードで何が起こっているか教えてください。 a_nInput

どうもありがとう

0 投票する
6 に答える
9026 参照

python-3.x - Python - 指定された多数の範囲ですべての完全な正方形を見つける最速の方法.

Python で特定の範囲内の完全な正方形をすべて取得するメソッドを作成しようとしています。2621163 と 520001400002 の間のような大きな範囲。明らかに、範囲を反復処理して、数値が完全かどうかを確認します。

そして、それを印刷することは、大きな範囲では愚かであり(小さな範囲ではうまく機能します)、永遠にかかります。この目的で利用できる Python の魔法または数学 (修正された Diophantine 方程式など) があるかどうか疑問に思っています。

編集:また、Python 3.X を使用しているため、大きな整数を使用できます。

0 投票する
3 に答える
4065 参照

c++ - C++ での 100 桁の数値の平方根

'unsigned long long'は 15 桁まで解決できます。

100桁の数の平方根を求める方法はありますか?