• ベストアンサー

xyzを求めたい

仕事で次のような式のxyzを整数値で求める必要が時々あります。 875x+252y+466z=146,319 数字はいつも変わり、そのたびに適当に数字を入れて何とかやっています。 今回も四苦八苦してやっと x=45 y=380 z=24 となりました。他に答えはありますか? 場合によっては答えがないこともあるかと思いますが できるだけ「=」にしたいのです。 素人で申し訳ありませんが、どなたか簡単に数値を求める方法があったら、教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • gonic
  • ベストアンサー率30% (18/59)
回答No.5

> いったいどんなプログラムなのでしょうか? EXCELのVBAで即席で作ったものですと…… (係数の順序入れ替えはやってません) Sub main() Call ask_xyz(875, 252, 466, 146319) '左辺の係数と右辺の数値を指定する End Sub Sub ask_xyz(a, b, c, s As Long) Dim x, y, z As Long Dim r1, r2, r3 As Long '余り Dim x_max, y_max, z_max As Long '最大値 Dim n As Long '表示行数カウント用 'セルの内容をクリア Worksheets("Sheet1").Range("A:C").Clear n = 0 x_max = s / a For x = 1 To x_max r1 = s - a * x y_max = r1 / b For y = 1 To y_max r2 = r1 - b * y z_max = r2 / c For z = 1 To z_max r3 = r2 - c * z If r3 = 0 Then n = n + 1 '該当したx,y,zを表示 Worksheets("Sheet1").Cells(n, 1) = x Worksheets("Sheet1").Cells(n, 2) = y Worksheets("Sheet1").Cells(n, 3) = z End If Next z Next y Next x End Sub

mirunyan
質問者

お礼

ほんとうにご丁寧にありがとうございました。 ご回答いただき良くわかりました。これからプログラムの勉強をしなければならないという事を・・・。 パソコンを有用に活用するためにも、頭を使ってがんばります。  ほんとうにありがとうございました。

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

その他の回答 (4)

  • putinail
  • ベストアンサー率57% (4/7)
回答No.4

x, y, zが2~4桁の整数で、875x+252y+466z=146,319の場合は、 x, y, zの組み合わせは85あります。(プログラムで出しました。) プログラムで出さないとなると、#1さん、#2さんのような方法しかなさそうですね。 あまり参考になっていませんが^^;

mirunyan
質問者

お礼

プログラムが組めればすぐ出来るんですね。

全文を見る
すると、全ての回答が全文表示されます。
  • gonic
  • ベストアンサー率30% (18/59)
回答No.3

私も#2の方と基本的には同じですねえ……。 ちなみにプログラムを走らせたら、該当する組がたくさん出てきました(まだこの程度ならすぐ答えが出ますね、2年くらい前のパソコンですが)。 ご参考までに。 (1,15,304) (1,248,178) (1,481,52) (3,21,297) (3,254,171) (3,487,45) (5,27,290) (5,260,164) (5,493,38) (7,33,283) (7,266,157) (7,499,31) (9,39,276) (9,272,150) (9,505,24) (11,45,269) (11,278,143) (11,511,17) (13,51,262) (13,284,136) (13,517,10) (15,57,255) (15,290,129) (15,523,3) (17,63,248) (17,296,122) (19,69,241) (19,302,115) (21,75,234) (21,308,108) (23,81,227) (23,314,101) (25,87,220) (25,320,94) (27,93,213) (27,326,87) (29,99,206) (29,332,80) (31,105,199) (31,338,73) (33,111,192) (33,344,66) (35,117,185) (35,350,59) (37,123,178) (37,356,52) (39,129,171) (39,362,45) (41,135,164) (41,368,38) (43,141,157) (43,374,31) (45,147,150) (45,380,24) (47,153,143) (47,386,17) (49,159,136) (49,392,10) (51,165,129) (51,398,3) (53,171,122) (55,177,115) (57,183,108) (59,189,101) (61,195,94) (63,201,87) (65,207,80) (67,213,73) (69,219,66) (71,225,59) (73,231,52) (75,4,171) (75,237,45) (77,10,164) (77,243,38) (79,16,157) (79,249,31) (81,22,150) (81,255,24) (83,28,143) (83,261,17) (85,34,136) (85,267,10) (87,40,129) (87,273,3) (89,46,122) (91,52,115) (93,58,108) (95,64,101) (97,70,94) (99,76,87) (101,82,80) (103,88,73) (105,94,66) (107,100,59) (109,106,52) (111,112,45) (113,118,38) (115,124,31) (117,130,24) (119,136,17) (121,142,10) (123,148,3) (153,5,24) (155,11,17) (157,17,10) (159,23,3)

mirunyan
質問者

お礼

すごい!! こんなに答えがあるんですか? いったいどんなプログラムなのでしょうか? 素人の私には全くわかりません。教えていただけませんか?

全文を見る
すると、全ての回答が全文表示されます。
  • uyama33
  • ベストアンサー率30% (137/450)
回答No.2

数字は何桁くらいですか 解や係数が自然数で、しかも 余り大きくないなら、 プログラムを組んで 調べ尽くす。 ただし、 マイナスの数を含むなら この方法は意味がない。 解も係数も自然数なら 係数の最大のものから始める 875x+252y+466z=146,319 の場合は、xの範囲を決める。 かくxの値に対して zの値の範囲を決める x、zの値に対して、 252で割り yの値を決める(余りがゼロ) ところで、マイナスの整数 の場合もあるのですか?

mirunyan
質問者

お礼

ありがとうございます。 マイナスの場合はありません。解も係数も自然数です。 係数は2~4桁、解はだいたい5桁以上だと思います。 係数の最大のものから始めたら早いですね。

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

一番下の桁の数字だけをまず計算するというのはどうでしょうか? 5x+2y+6z=???9 という感じで。 これで、x,y,zも下の桁だけ求まります。 他は思いつかないですね・・・

mirunyan
質問者

お礼

早速ありがとうございます。 そうですね。下の桁だけでも決まればいくらか早くなりそうです。

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

関連するQ&A

  • ラグランジェの未定係数を使ってX^2+Y^2+Z^2=1 XYZの最大

    ラグランジェの未定係数を使ってX^2+Y^2+Z^2=1 XYZの最大値は?ただし0<X<1 0<Y<1 0<Z<1である  さっぱり分からなくて四苦八苦しています。皆様の知恵をお貸し頂けないでしょうか?

  • xyz=1のとき,

    xyz=1のとき, x^2/(x-1)^2+y^2/(y-1)^2+z^2/(z-1)^2>=1 を証明せよ。 zを消去したあとの式は複雑であるのと計算の進め方がわからない。 左辺の式の形を崩さないで考えていくのか。 考えのとっかかりが見えないので、アドバイスお願いします。

  • n進法と代入の問題 整数を求めるんですが・・・

    n進法と代入の掛け合わせの問題です。代入式までは立てたものの、それ以上進めなくなってしまったのです。。。私が考えた式そのものが間違っているのでしょうか・・・。どなたか、問題を解くヒントとその先を教えてください。お願いします。。。 「5進法で書かれた3ケタの整数を7進法で書き変えたら数字の順が逆になった。この数を10進法で表すとどうなるか?」 <私の考えた答(途中で挫折してますが・・・)> 最初の数字(5進法)の100の位をx、10の位をy、1の位をzとする。 ・xyzを5進法→10新法で表すと 5の2乗×(掛ける)x+5の1乗×y+5の0乗×z→25x+5y+z・・・(1) ・7進法にしたら、xyzが逆なったのでそれを10進法にしたら 7の2乗×z+7の1乗×y+7の0乗×x→49z+7y+x・・・(2) (1)(2)は同じ数なので 25x+5y+z=49z+7y+xにして、さらに変形・約分して 12x-y-24z=0・・・(3) ここで止まりました。ここからxyzを求める方法がわからないのです。。。どうか教えてください。

  • xyzの値の範囲

    x+y+z=4,x^2+y^2+z^2=6のとき、xyzの値の範囲を求めよ。 次の流れの解法は分かります。別解があったら、教えてください。 xyz=kとおく。 x+y+z=4,xy+yz+zx=5,xyz=kより、x,y,zを解とする方程式は、 t^3-4t^2+5t-k=0で、これが、3つの実数解をもつ条件を 考えればよい。 k=t^3-4t^2+5t から、y=kとy=t^3-4t^2+5tのグラフの交点 から考えていく。

  • x+2y+3z=xyz を満たす自然数の組をすべて求めよ。

    x+2y+3z=xyz を満たす自然数の組をすべて求めよ。 もし、x+y+z=xyz だったら、x<=y<=z とおいて、しぼりこんで いけると思うのであるが、この場合つかえないように思う。 両辺をxyzで割って、考えていますが、場合分けをどのように すればよいのか、アドバイスをお願いします。

  • 数Iの展開の問題についての質問

    (x+y+2z)^3-(y+2z-x)^3-(2z+x-y)^3-(x+y-2z)^3 の展開式が分かりません。 解説にはこの式の次の行に{(x+y)+2z}^3-{(x+y)-2z}^3と書いてあり、なぜそうなるのか、そこから分かりません。 ちなみに答えは48xyzです。詳しい解答をお願いします。

  • 因数分解

    x+y+z=3-(1),1/x+1/y+1/z=1/3-(2)のとき x^3+y^3+z^3=? という問題なのですが行き詰ってしまいます。(すみません簡単な問題で><) (2)の式の両辺に3xyzをかけて 3(xy+yz+zx)=xyz として解こうとしています。 x^3+y^3+z^3 =x^3+y^3+z^3-3xyz+3xyz =(x+y+z)(x^2+y^2+z^2-xy-yz-zx)+3xyz =(x+y+z)(x+y+z)^2-3xy-3yz-3zx+3xyz =(x+y+z)^3-xyz+3xyz となって分からなくなっています。この式の間違いを指摘してください。そしてやり方を教えてください。当方高校2年です。

  • 数学 

    0<X≦Y≦Zである整数X、Y、Zについて以下の問いに答えよ (1)XYZ+X+Y+Z=XY+YZ+ZX+5を満たす整数X、Y、Zをすべて求めよ (2)XYZ=X+Y+Zを満たす整数X、Y、Zをすべてもとめよ。 (2)について質問したいんですが、解答に1≦XY≦3より (X、Y)=(1,3)のとき 3Z=1+3+z (X、Y)=(1,2)のとき 2Z=1+2+Z (X、Y)=(1,1)のとき Z=1+1+Z となっているんですが場合分けの意味はわかるんですが、なぜXY=3,2,1に分けると左側のZも3Z、2Z、Zと変化していくんですか??X+Y+Z≦3Zとなっているのだからすべて3Zではないんですか??

  • 解法を教えてください

    多項式x^3+y^3+z^3-3xyzは、ある多項式P(x,y,z)によりx^3+y^3+z^3-3xyz=(x+y+z)P(x,y,z)と因数分解される。 (1)P(x,y,z)および-1/2{(x-y)^2+(y-z)^2}を求めよ。 (2)自然数x,y,zがx<y<zを満たすならば、P(x,y,z)≧3であることを証明せよ。また、等号が成り立つための条件を求めよ。 (3)条件式x^3+y^3+z^3-3xyz=91,x<y<zを満たすような自然数x,y,zの組をすべて求めよ。 答えは (1)x^2+y^2+z^2-xy-ys-zx,1/2(z-x)^2 (2)等号が成立するのはy=x+1,z=x+2のとき (3)x=3、y=4、z=6

  • 整数問題…

    考え方を教えてください。(宿題でない) 0<X≦Y≦Zの整数X,Y,ZでXYZ+X+Y+Z=XY+YZ+ZX+5をみたす整数X、Y、Zを求めよ。 私の思いついたこと ア:X、Y、Zの対称式。(しかし、大小関係をどうすれば?) イ:1文字消したいな ぐらいです…