• 締切済み

対比計算方法

対比計算の応用的な事です。 例えば、AとBがありましてC:Dの場合、AとBの使用する数字を求めたいのです。 数式で表すと以下のとおりです。 「(6-x):(6-y)=3:2」 Aが「(6-x)」の事、Bが「(6-y)」の事、C:Dが「3:2」の事です。 xとyは整数となります。 この時のxとyを求めたいのです。 又、このような事は可能なのでしょうか。 現在、LOOPで計算しているので何とか算出したいと思っている次第です。 ちなみに、現在のLOOPの計算方法は、 1.「3:2」なので「(6-3):(6-2)」となります。 2.残りは「3:4」になります。 3.残りを再度算出。「(3-3):(4-2)」。 4.残りは「0:2」となります。 5.残りを再度算出。「(0-3):(2-2)」。 6.「0-3」が不可なのでx=0,y=2となります。 7.残りがあるかぎり、再計算をします。 宜しくお願い致します。

みんなの回答

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.4

>某業種の計算で、売りが6枚、買いが6枚あったとします。 >これを比率3対2で使用する枚数を求めるのです… この問題は、よく判りません。 けど、不定方程式  -2x + 3y = 6 を「対比計算」で解けることなら判ります。  -2x + 3y = 6   …(1)     ↓ (この変形は一意的じゃない。「互除法」的な一考を要する)  10 - 2x = 16 -3y  2(6-x) = 3(6-y)  (6-x) : (6-y) = 3 : 2 と変形して、  6-x = 3   …(2)  6-y = 2   …(3) から、x=3, y=4 なる一解を得る。 さらに (2), (3) の右辺を整数倍していくと…?  6-x = 3*2 = 6   …(2)'  6-y = 2*2 = 4   …(3)' から、x=0, y=2 などの一般解をたどれる…。   

GONBEBW
質問者

お礼

回答、ありがとうございます。 実を言うと某業界の某金額を算出する一部なのです。 なかなか、説明がうまくいかず、すみませんでした。 参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。
  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.3

>ちなみに、現在のLOOPの計算方法は、 >1.「3:2」なので「(6-3):(6-2)」となります。→ 2.残りは「3:4」になります。 >… 「3:2」を「スタート値」に採るのはナゼ? 自然な発想は、  6-x=3 → x=3  6-y=2 → y=4 だから、「3:4」なのじゃないのか…という気もします。 そのような「先入観」抜きで、漏れなくスキャンできる…ということが「LOOPの計算」の特質なのでしょうカ? 無限個ある「可能解」を「漏れなくスキャン」するのは、不可能だという気もしてます…。   

GONBEBW
質問者

お礼

回答、ありがとうございます。 文章がわかりにくかったようです。 「(6-x):(6-y)=3:2」なので「3:2」がスタート値にしました。 実は某業種の計算で、売りが6枚、買いが6枚あったとします。 これを比率3対2で使用する枚数を求めるのです。 3対2なので使用する枚数は売りが6枚、買いが4枚使用する事になります。 なのでスタート値が「3(枚):2(枚)」で次が「6(枚):4(枚)」になります。 その次は「9(枚):6(枚)」となりますが、売買の枚数が限度を超えたので 使用できる枚数は「6(枚):4(枚)」となります。 とはいえ、いろいろとご指摘はありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.2

>(6-x):(6-y)=3:2   ↓  2(6-x) = 3(6-y)  -2x + 3y = 6   …(1) としてみると、不定方程式のスタイル。 たとえば、「ユークリッド互除法」のパターンで、  x + 3(y-x) = 6 解の一つ、  x=6, y=x を得る。 (1) に戻って一般解、  x=6+3k, y=6+2k : k は整数 が得られる。   

GONBEBW
質問者

お礼

回答、ありがとうございます。 理屈はわかりました。 この式をプログラムではどのように作っていいのか模索中です。 参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。
  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.1

文章がよくわからないので推定を含みますが (6-x):(6-y)=3:2      (1) を満たすx,yの一般解を求めよという問題と仮定します。 整数解の求め方の定石に従って計算します。 (1)より 2(6-x)=3(6-y) 3y-2x=6 (2) これを満たす一つの解は y=4, x=3 つまり 3×4-2×3=6 (3) (2)-(3)を作ると 3(y-4)-2(x-3)=0 これより (y-4)/2=(x-3)/3 この式の値をtとおき、tをパラメータとしてx,yを表示する。 (y-4)/2=(x-3)/3=t x=3t+3 (4) y=2t+4 (5) (4),(5)のtに整数値(t=0,±1,±2,........)を代入すればよい。

GONBEBW
質問者

お礼

回答、ありがとうございます。 文章がわかりにくかったようです。すみませんでした。 式は仮定どおりです。 参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 角度を調べる計算方法を教えて下さい。

    例 三角形(a,b,c)の a 辺の角度を取得する計算方法を教えて下さい。 a x = 200 y = 100 b x = 1500 y = 100 c x = 1500 y = 900

  • ax + by + cz + d の符号を求める計算

    式 ax + bx + cz + d = 0 (d>0) であらわされる平面があります。任意の点P(x,y,z)が与えられたとき、点Pと原点O(0,0,0)をつなぐ線分OPがこの平面と交わるかどうかを判断するプログラムを書いています。 a,b,c,dは8ビットの符号つきの整数です。つまり、-129 < a,b,c < 128、 0 < d < 128 です。 点pの座標x,y,z は32ビットの符号付整数です。 単純にax + bx + cz + dを計算すると、途中の計算は最大32+8+2=42ビットの値になるのはわかりますが、答えは1ビット(交わるか交わらないか)なので、32ビットの範囲内での計算で済ますことを考えてみました。そのようなアルゴリズムってありますか?

  • 計算式を作りたい

    過去ログにも似たようなのがあったのですが、よくわからないためご教授ください。 A欄、B欄、C欄に金額を入力してもらって、その金額をもとに、X,Yの金額を算出するようにしたいのです。 Xは(A欄+B欄)÷1000×5  端数切捨て YはXが20000未満ならC欄×0%、Xが20000以上30000未満ならC欄×5%、Xが30000以上ならC欄×10%です。端数は切捨てます。ただし、C欄が5000以上の場合は5000として計算します。 宜しくお願いします。

  • 座標を回転させる計算方法を教えて下さい。

    例 三角形(a,b,c)の a を基点として回転させる計算方法 a x = 200 y = 100 b x = 1500 y = 100 c x = 1500 y = 900 難しくはないと思いますが三角関数が苦手なので教えて下さい。

  • 整数の問題の計算

    3で割ると1余り、5で割ると2余る正の整数の一般形を求めよ。 ヒント:N=3x+1=5y+2 こんばんは、よろしくお願いします。 この問題の途中の計算で、 3x-5y=1 解の1つx、y=2、1を用いると、 3(x-2)=5(y-1) (公式、ax+2y=cを解くには1つの解x0、y0を見つけ、a(x-x0)=-b(y-y0)ですよね。) と、ここまでは分るのですが、この次の行の ここで、kを整数とすると、 x-2=5、.y-1=3k, すなわち x=2+5k,y=1+3kとなる。 と、あるのですが、分らないです。 3(x-2)=5k、5(.y-1)=3k、だったら分るんですけど、 3( )と5( )はどこへいったんですか?

  • 計算結果から逆算して計算式を自動で生成する方法を探

    計算結果から逆算して計算式を自動で生成する方法を探しています。 悩みを解決できるならソフトなどは問いません。 どういうことかというと、Aという計算結果がまずあります。そして、Aを導き出すために使用される数字B,C,D,…があります。ここで、どのような計算式によってAが算出されるかがわかっていません。すなわち計算に必要な数字B,C,D,…は与えられているのに、計算式がないのでどうやってAという計算結果が算出されるかわからないんです。 簡単な例を示すと、例えば8という計算結果があり、8を導くのに2と4が使われると条件が示されています。このとき、8を導くための計算式を求めよと問われたとします。この場合、2×4とすれば8が算出されるので、求める計算式は”2×4”となります。これは簡単な式なので暗算ですぐ求めることができますが、使用する数字が多数かつ数値が複雑だとこう簡単にはいきません。 そこで、Aという計算結果と、B,C,D,…という計算に使用する数字がある状態で、Aを算出するための計算式を自動で生成できるような手法、関数、ツールを探しています。すでに手動でAを導くような計算式を見つけようと努力しましたが果てしないので断念しています。どうぞお力添えのほどよろしくお願いいたします。

  • 微分が計算できない。

    x = ( a^2+ b^2 + c^2 )^1/2として、x^2 = 2x(a/x)という問題を示すのですが以下のように計算してみたところ、どうしてもあいませんでした。 ( a^2+ b^2 + c^2 ) = Yとおきました。 x^2 = Y^(1/2+2) = Y^(5/2) dY^(5/2)/da = 5/2Y^(3/2) * da/dx = 5/2Y^(3/2) * 2a = ・・・ よろしくお願いします。

  • この方程式をエクセルで解くにはどうすればいいのですか?

    収束計算が必要と思われる下記の2つの方程式からX、Yを算出したいのですが、エクセルで式を作成する場合どうすればいいのでしょうか? どなたか、ご教示願います。 a*(X+b+c)=d*(X+Y) e/f*(g^2-f*h^2)*X=e*i^2*Y a=0.92 b=900 c=79.3 d=1 e=3.14 f=4 g=387.4 h=82.6 i=77.6 尚X、Yは計算機等で計算すると以下の数値となります。 X:174.1、Y:887.1 宜しくお願いします。

  • Mathematicaで恒等式を解く方法

    最近、少しMathematicaをかじり始めたものです。 さっそくですが、以下のような恒等式を解かせるにはどうすればよいのか教えてください。 y^3 + y^2 + 3 = a y^3 + b y^2 + cy + d この式から (a, b, c, d) = (1, 1, 0, 3) という答えを得たいわけです。 さらには y1 y2 + y1^2 y2 + y1 y2^2 = a y1 y2 + b y1^2 x2 + c y1 y2^2 という式から (a, b, c) = (1, 1, 1) と計算させたいと考えています。 よろしくお願い致します。

  • 解が二つあるかどうか調べる方法

    二つの円、 x^2/a^2 + y^2/b^2 =1 と (x-x0)/c^2 + (y-y0)^2/d^2 =1 があり、任意のx0においてy0がいくつの時に 円が接するか、すなわち解が二つではなく一つになるか 数値的に計算するプログラムを作りたいのですが どのような計算を行えば効率的に求めることができますか?

このQ&Aのポイント
  • 新築住宅におけるクロス補修方法とは?コーキング剤の色による問題も
  • ハウスメーカーによるクロス補修の説明とは?クロスとコーキング剤の色の関係に悩む
  • クロスとコーキング剤の色を合わせる必要性とは?自分で補修するかリフォーム業者に相談するか
回答を見る