タグ付けされた質問 「math」

数学には、プログラム内の数値の操作が含まれます。一般的な数学の質問については、[math.stackexchange.com](https://math.stackexchange.com/)で質問してください。注:浮動小数点計算の予期しない結果に関する質問の場合は、最初に[浮動小数点演算は壊れていますか?](https://stackoverflow.com/q/588004/1679849)をお読みください。

10
Pythonで浮動小数点を整数に変換する最も安全な方法は?
Pythonの数学モジュールには、floor&などの便利な関数が含まれていますceil。これらの関数は、浮動小数点数を取り、その下または上にある最も近い整数を返します。ただし、これらの関数は答えを浮動小数点数として返します。例えば: import math f=math.floor(2.3) 今すぐf返します: 2.0 丸めエラーのリスクを冒すことなく(たとえば、フロートが1.99999に相当する場合)、このフロートから整数を取得する最も安全な方法は何ですか?

21
円内にランダムな点を(均一に)生成する
半径Rの円内に一様にランダムな点を生成する必要があります。 間隔[0 ...2π)で均一にランダムな角度を選択し、間隔(0 ... R)で均一にランダムな半径を選択するだけで、中心に向かってより多くのポイントができ、半径の場合、小さい半径のポイントは、大きい半径のポイントよりも互いに近くなります。 私はここでこれに関するブログエントリを見つけましたが、彼の推論がわかりません。私はそれが正しいと思いますが、彼が(2 / R 2)× rをどこから得るか、そして彼が最終的な解をどのように導出するかを本当に理解したいと思います。 更新:この質問を投稿してから7年後も、平方根アルゴリズムの背後にある数学に関する実際の質問については、満足のいく答えが得られませんでした。それで私は自分で答えを書いて一日過ごしました。私の回答へのリンク。



18
符号付きの数値に対して、符号と絶対値よりも2の補数を好むのはなぜですか?
-1を2進数で表すために、2の補数が使用される理由があるかどうか知りたいだけです。ビットを反転して1を追加しますか? -1は、10000001ではなく11111111(2の補数)で表されます。これは、最初のビットが負のフラグであるバイナリ1である10000001です。 免責事項:私は自分の仕事のためにバイナリ算術に依存していません!

9
このゲームの背後にある数学/計算の原理は何ですか?
私の子供たちには、Spot Itという楽しいゲームがあります。ゲームの制約(私が説明できる限り)は次のとおりです。 55枚のデッキです 各カードには8枚の一意の画像があります(つまり、カードに同じ画像を2枚含めることはできません) デッキから選んだカードが2枚ある場合、一致する画像は1枚だけです。 一致する画像は、カードによって異なる縮尺で表示される場合がありますが、これはゲームを難しくするためです(つまり、小さな木は大きな木と一致します)。 ゲームの原則は次のとおりです。2枚のカードを裏返し、最初に一致する画像を選んだ人がポイントを獲得します。 明確にするための画像は次のとおりです。 (例:上の2枚のカードから、一致する画像が緑の恐竜であることがわかります。右下の画像と中央右の画像の間は、ピエロの頭です。) 私は次のことを理解しようとしています: これらの基準を満たすために必要なさまざまな画像の最小数はいくつですか?これをどのように決定しますか? 疑似コード(またはRuby)を使用して、N個の画像の配列(Nは質問1の最小数)から55個のゲームカードをどのように生成しますか? 更新: 写真はデッキごとに2回以上発生します(一部の人が推測したものとは異なります)。3つのカードの写真を参照してください。それぞれに稲妻が付いています。


17
四捨五入したパーセンテージを合計すると100%になる方法
float数値で表された以下の4つのパーセンテージを検討してください。 13.626332% 47.989636% 9.596008% 28.788024% ----------- 100.000000% これらの割合を整数で表す必要があります。単純にを使用Math.round()すると、合計101%になります。 14 + 48 + 10 + 29 = 101 を使用parseInt()すると、合計97%になります。 13 + 47 + 9 + 28 = 97 合計として100%を維持しながら、任意の数のパーセンテージを整数として表すための適切なアルゴリズムは何ですか? 編集:コメントと回答の一部を読んだ後、これを解決するための方法は明らかにたくさんあります。 私の考えでは、数値に忠実であり続けるために、「正しい」結果は、実際の値に対してどれだけのエラー丸めが導入するかによって定義される、全体的なエラーを最小化するものです。 value rounded error decision ---------------------------------------------------- 13.626332 14 2.7% round up (14) 47.989636 48 0.0% round up (48) 9.596008 10 4.0% …

12
負の数のModが私の脳を溶かしている
整数を変更して配列の位置を取得し、ループするようにしています。こうi % arrayLength正の数のためではなく、負の数のための作品の罰金をそれがすべてうまくいきません。 4 % 3 == 1 3 % 3 == 0 2 % 3 == 2 1 % 3 == 1 0 % 3 == 0 -1 % 3 == -1 -2 % 3 == -2 -3 % 3 == 0 -4 % 3 == -1 だから私はの実装が必要です int …
189 c#  math  modulo 

27
数値の最大素因数を見つけるアルゴリズム
数の最大の素因数を計算するための最良のアプローチは何ですか? 私は最も効率的なものは次のようになると思います: きれいに割れる最小の素数を見つける 除算の結果が素数かどうかを確認します そうでない場合は、次に低いものを見つける 2に進みます。 この仮定は、小さな素因数を計算する方が簡単であることに基づいています。これで大丈夫ですか?他にどのようなアプローチを検討する必要がありますか? 編集:結果が他の2つの素数の積であるときにステップ2が失敗するため、再帰アルゴリズムが必要であるため、2つ以上の素因数が存在する場合、私のアプローチは無駄であることがわかりました。 もう一度編集します。最後に見つかった素数が最も大きい必要があるため、これでも機能することに気づきました。したがって、ステップ2からの素数以外の結果をさらにテストすると、素数が小さくなります。


4
線分の法線ベクトルを計算するにはどうすればよいですか?
(x1、y1)から(x2、y2)へのラインセグメントがあるとします。線に垂直な法線ベクトルを計算するにはどうすればよいですか? 3Dの平面に対してこれを行うことについては多くのことを見つけることができますが、2Dのものはありません。 数学を簡単に行ってください(機能する例、図、またはアルゴリズムへのリンクは大歓迎です)。私は数学者というよりもプログラマーです;)
177 math  geometry  vector 

3
HyperLogLogアルゴリズムはどのように機能しますか?
最近は暇なときにさまざまなアルゴリズムについて学んでいます。私が遭遇した非常に興味深いと思われるアルゴリズムはHyperLogLogアルゴリズムと呼ばれ、リストに含まれる一意のアイテムの数を推定します。 これは、「カーディナリティ」の値(最近までは、推定されていないと計算されていたと私は常に想定していました)を見たMySQL時代に戻ったので、特に興味深いものでした。 そのため、配列内の一意のアイテムの数を計算するアルゴリズムをO(n)で記述する方法を知っています。私はこれをJavaScriptで書いた: function countUniqueAlgo1(arr) { var Table = {}; var numUnique = 0; var numDataPoints = arr.length; for (var j = 0; j < numDataPoints; j++) { var val = arr[j]; if (Table[val] != null) { continue; } Table[val] = 1; numUnique++; } return numUnique; } しかし問題は、私のアルゴリズムはO(n)が大量のメモリを使用する(に値を格納するTable)ことです。 私は、O(n)時間でリスト内の重複をカウントし、最小限のメモリを使用する方法についてこのペーパーを読んでいます。 それは、ビットまたは何かをハッシュおよびカウントすることにより、特定の確率内で(リストが均等に分散されていると仮定して)推定できるリスト内の一意のアイテムの数を説明します。 …

8
Pythonのmath.ceil()およびmath.floor()操作が整数ではなく浮動小数点を返すのはなぜですか?
誰かがこれを説明できますか(ドキュメントから直接-私の強調): math.ceil(x)xの上限をfloatとして返します。これは、x 以上の最小の整数値です。 math.floor(x)xの下限をfloatとして返します。これは、x以下の最大の整数値です。 なぜ浮動小数点数が整数を計算することになっているのに、浮動小数点数.ceilを.floor返すのでしょうか? 編集: まあ、これはなぜ浮動小数点数を返す必要があるのか​​について非常に良い議論があり、@ jcolladoが実際には Python 3でintを返すことを指摘したとき、私はちょうどそのアイデアに慣れていました...
170 python  math 

15
doubleが整数かどうかをテストする方法
これは可能ですか? double variable; variable = 5; /* the below should return true, since 5 is an int. if variable were to equal 5.7, then it would return false. */ if(variable == int) { //do stuff } 私はコードがおそらくそのようなことをしないことを知っています、しかしそれはどのように行くのですか?
165 java  math 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.