• 締切済み

4のベキ乗を用いた数式の作り方

±1,±4,±16,±64,±256を使って答えが1~500となる 数式を作ろうと思っています。 条件として 数式は+のみ 1~500までが答えとなるように 一番短い式と二番目に短い式を出す方法を 考えたいのですが、1番短い式と 2番目に短い式を出すのに何か良い手順はないでしょうか? 宜しくお願いします。 ちょっと例を載せてみます。 答えが1になる数式 最も短い数式 +1 2番目に短い数式 +1+(-1)+1 答えが12になる数式 最も短い数式 +16+(-4) 2番目に短い数式 +4+4+4 答えが160になる数式 最も短い数式 +64+64+16+16 2番目に短い数式 +64+64+16+16+(-1)+1(他にもありますが‥)

みんなの回答

  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.2

4進数で表わしたときの2の扱いをもうちょっと考えないといけません。 答えが160になる数式 最も短い数式 +64+64+16+16 は、別解として、256-64-16-16 てのもあります。 2番目に短い数式は、+64+64+16+16+(-1)+1 ではなくて、64+64+64-16-16 です。 例えば、#1さんの表記で書けば、 168 = 222[4] だと一番短い表記は、 64+64+16+16+4+4 ではなくて、 256-64-16-4-4 ですね。

  • yumitsuki
  • ベストアンサー率52% (167/321)
回答No.1

4進法で考えてはいかがでしょうか。 ここで、説明のために、10進法表現では最後に[10]、4進法表現では最後に[4]と書くことにします。 例えば、 1[10]=1[4] 12[10]=30[4] 160[10]=2200[4] となります。つまり、 1[10]=1×4^0=1[4] 12[10]=3×4^1+0×4^0=1[4] 160[10]=2×4^3+2×4^2+0×4^1+0×4^0=2200[4] という訳です。 さて、「1番短い式」について考えますと、ローマ数字の記法が参考になります。 4進法表現の各桁について、 ・その桁の値が「0」なら、何もしない。ただし、数値全体で「0」であれば、「0[4]」を表記する。 ・その桁の値が「1」なら、その桁に対応する4の乗数を1回加算する。 ・その桁の値が「2」なら、その桁に対応する4の乗数を2回加算する。 ・その桁の値が「3」なら、その桁に対応する4の乗数を1回減算して、さらにその次の桁に対応する4の乗数を1回加算する。 上の例では、 1[10]=1[4]=(4^0) 12[10]=30[4]=(4^2)-(4^1)=(+16)+(-4) 160[10]=2200[4]=(4^3)+(4^3)+(4^2)+(4^2)=(+64)+(+64)+(+32)(+32) となります。 次に、「2番目に短い式」について考えます。「1番短い式」に1手だけ加える変更が出来れば、それは間違いなく「2番目に短い式」であると言えます。 4進法表現において、 ・「2」があれば、その桁に対応する4の乗数を2回減算して、さらにその次の桁に対応する4の乗数を1回加算する。当然ながら、この変更は1回だけ行う。 ・「3」があれば、その桁に対応する4の乗数を3回加算する。当然ながら、この変更は1回だけ行う。 上の例では、 12[10]=30[4]=(4^1)+(4^1)+(4^1)=(+4)+(+4)+(+4) 160[10]=2200[4]=(4^3)+(4^3)+(4^3)-(4^2)-(4^2)=(+64)+(+64)+(+64)+(-16)+(-16) となります。 しかし、4進法表現において、全ての桁が「0」または「1」であった場合は、このように1手だけ加える変更が不可能です。そこで、「1番短い式」に2手だけ加える変更を行うことで「2番目に短い式」とします。加える2手は、同じ数を加算して減算すれば良いので、何でも構いません。 上の例では、 1[10]=(4^1)+(4^1)-(4^1)=(+4)+(+4)+(-4) となります。 最後の補足です。使用可能な数字の絶対値に上限(±256)があるので、4進法における4桁目の値が「2」であるときは、上で説明した変更が不可能となる場合があります。例えば、 2000[4]=(4^4)+(4^4) を、 2000[4]=(4^5)-(4^4)-(4^4) に変更することが出来ないのです(4^5=1024)。 4進法表記において、4桁目の値が「2」で、かつ、それより下の桁に「2」または「3」が無い場合は、上で説明したように2手追加する必要があります。 これでいかがでしょうか。

関連するQ&A

  • 数式3.0

    ワードで数式を使う時に挿入→オブジェクト→数式という手順ではなく、 すぐに数式をつかえるようにする方法はありますか? 式を何個も書いたりする時、いちいち挿入から出すのは不便だから 何か方法があるのかも、とおもって質問しました。 よろしくお願いします。

  • excelの数式がわかりません!

    こんにちわ、超初心者です。EXCELの数式で困っています。 ●セルB2にA2から1マイナスした数を表示させます。単純に、 =A2-1 ですよね。●さらにこの数式の答えのなかから、-1以下は0と表示させたいのですが、この二つの条件を満たす式がわかりません!! どなたか教えて下さい!よろしくお願いします。

  • ベキの数式の出し方を教えて下さい。。。。

    Yは既知数で、Xが未知数とします。   Y=X + X *( 462.5 * ( X ^-0.1266))/100 ・・・・このような式がありますが、未知数 X を算出する方法がわかりません。  X=???・・・・未知数 X を算出する計算式を教えて下さい。 すいませんが、よろしくお願い致します。

  • エクセル 数式を別のシートに貼っても保存しないと

    エクセルの質問です。 エクセルに数式を作り、(たとえば=VLOOKUP)それをコピーして他のシートに貼り付けると、数式がコピーされ、同じ数式を使えると思いますが、今回それができなくなり、数式を貼り付けた後に、保存しないと、コピー元の表示がコピーされ、保存をすると変化して、正しい答えになります。 これは、どういう状態なのでしょうか? そしてどのように解決したらよいでしょうか?以前はできたのですが、環境でも変わったのでしょうか? よろしくお願いいたします。 例)シート1に=VLOOKUP の式をいれ、リンゴ、という答えが出ました。 シート2に同じ数式を入れると、みかんという答えが出るはずが、リンゴという答えのみが貼り付けされ、数式が役に立ってません。 そこで、保存すると、突然みかんという答えに変わります。

  • 数式について…

    こんにちわ(^^)。えっとVB開発なんですけれども 数式が分からないもので、質問させていただきます。 例えば、 1⇒2⇒3⇒4⇒5⇒1⇒2 … 上図のようにある一定の数値をぐるぐる回す数式というのが、VBでいう IntCnt = (IntCnt Mod 数字の個数) + 1 (例:IntCnt = 1 のとき、答え IntCnt = 2    IntCnt = 5 のとき、答え IntCnt = 1) になるのはわかっているのですが、その逆がわからなくて困っています…(T T)。 つまり 5⇒4⇒3⇒2⇒1⇒5⇒4 … のようになる数式わかりますか?

  • 数式がわかりません。

    どなたかご存じでしたらご回答よろしくお願いします。 苦手なエクセルです。 数値欄に0~9の数字を1つ入力すると 計算式に従って、答えを求める数式を教えてください。 計算式:(数値 × 2) -5 =答え  ※但し、答えが10以上になる場合は、10を減算する。    (10未満はそのままそれが答えになる。)  ◎計算例1     (1)(8×2)-5=11     (2)(1)の答えが10以上のため       11-10=1    答え:1  ◎計算例2     (1)(3×2)-5= 1     答え:1 よろしくお願いします。

  • 配列数式の答を計算式入力セルに出す方法は?

     FREQUENCYなど配列数式の答は、式入力セルを選択した状態でF2を押した後F9を押すと数式バーに表示されますが、他の計算式のように式を入力したセルに直接答を出す方法はないのでしょうか。  答もまた配列で返され、場合によっては無数に続くからでしょうか、それとも私のやり方が間違っているのでしょうか、式入力セルには必ず「0」が返されてしまいます。  ご存知の方お教えください。

  • エクセルの数式の答えに±を表示させる方法。

    お世話になります。 エクセルの数式の答えに±を表示させたいのですが、方法が分かりません教えて下さい。 例、数式 =ROUND(P75*C66^0.5,0)        答え 5mm または、-5mm  とセルに入力すると答えは+か-で表示されます。数式で算出される答えに(+5~-5)までの範囲で ±5 と表示したいのですが方法はありますか?よろしくお願いします。

  • √を使った数式の解き方がわかりません

    下記の数式の解き方がわかりません。 【aの値を求めよ】 0.8 = 0.6/√{(0.8-a)^2+0.6^2} (^2は二乗です) 答えは参考書にのっているのですが(a=0.35)、途中の解き方が分からず困っています。 できたら途中の式を省かずに、教えていただきたいです。 どうぞよろしくお願いします。

  • Excel 数式の相対参照について

    相対参照を使い、ドラッグによる数式のコピーを 試みたいのですが、例えば・・・ C1にA1を表示させる=A1という式を入れます。 次にC2にA3を表示させる=A3という式を入れます。 次にC3にA6を表示させる=A6という式を入れます。 このような3の倍数での条件(a1,a3,a6,a9・・・) で数式のコピーを試みた場合、この条件でコピーできません。 同様なケースで・・・ C2にA1を表示させる=A1という式を入れます。 次にC3にB1を表示させる=B1という式を入れます。 次にC4にC1を表示させる=C1という式を入れます。 このようなアルファベット順での条件(A1,B1,C1・・・) で数式のコピーも同様で、できません。 他に、このような条件を満たす方法はありませんか?