問題タブ [rational-number]

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 投票する
1 に答える
136 参照

java - ADT 合理的実装の Java 構文ヘルプ [エラー: シンボルが見つかりません]

Javaで有理数用にこのADTを構築しようとしていますが、何らかの理由で、コンパイルしようとするとシンボルが見つからないというエラーが発生し続けます。私は何を間違っていますか?このエラーは私の構文によるものですか?

// ****************** コンストラクタ **************************** *****

//********************* ゲッター ************************** **********

// ******************* オペレーション **************************** ******

//********************* ツール ************************** ************

//******************** テストユニット ************************** *********

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

c++ - 合理的なキャストを2倍にする

ブースト 1.62 に対してコンパイルされた次のコードを使用します。

次の出力が得られます。

私は Rational_cast が 249999.5 を出力すると予想しますが、私が間違っていることを誰か説明できますか?

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

c++ - 10 進数を同等の有理数に変換する際の精度の問題

double (たとえばN ) を p/q 形式 (有理形式) に変換する際に問題があります。このため、次の戦略があります。

  1. $k = 10^{10}$ のように、double N に大きな数を掛けます。
  2. それからp = y*kそしてq = k
  3. 取っgcd(p,q)て見つけp = p/gcd(p,q)q = p/gcd(p,q)

の場合N = 8.2、紙とペンで解けば正解ですが、 (double) で8.2表されるように、有理式変換に問題が生じます。8.19999999N

他の方法で試してみました:(100の代わりに大きな番号10^kを使用しました)

if(abs(y*100 - round(y*100)) < 0.000001) y = round(y*100)/100

しかし、このアプローチも常に正しい表現を提供するとは限りません。

double から p/q への同等の変換を実行できる方法はありますか?

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

java - Number クラス doubleValue の例外

メイン メソッドを実行すると、次の例外が発生します: Exception in thread "main" java.lang.StackOverflowError, 続いて this: at Rational.doubleValue(Rational.java:62) like 100+ times. これは、メイン クラスが提供されている課題のためのものなので、そこでは何も変更できません。これが私のコードです:



そして、これがメインクラスです(これは変更できません)


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

python - 整数の配列を比率の SymPy 行列に変換します

SymPy整数の 3D 配列を有理数の行列に変更したいと思います。Sympy(Rationalと)を使用する必要があることMatrixはわかっていますが、その方法がわかりません。

例えば、

なるべき

それがどのように見えるべきかの写真:

募集結果イメージ