• ベストアンサー

私にはできない関数です

最近このコーナーに助けられております。今日朝からずっと取り組んできましたが、私にはできませんでした。数字を分けていく作業です。 数字は49~200までとします。本当は49以下での規則も見つけたいのですが、数字の条件が変わってますますめんどくさくなりそうなので、明らかに規則性が見える49以上でできるものなのかどうかを確認しようとおもっております。数字の区切り方は以下の通りです。 49→7777777(7ずつ7つに区切る) 50→8777777 51→8877777 52→8887777 53→8888777 52→8888877 53→8888887 54→8888888(8で一杯になったら次からは一つ欄を増やす) 55→87777777 56→88777777 57→88877777 58→88887777 59→88888777 60→88888877 61→88888887 62→88888888 63→877777777 64→887777777 65→888777777 66→888877777 67→888887777 68→888888777 69→888888877 70→888888887 71→888888888 このようにして数字を8で一杯になるまで区切っていくのですが、 任意の数字(n)は8が何個で7が何個かを求める式を知りたいのです。どなたか数学の得意な方、頭脳をお貸しください。

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

  • ベストアンサー
noname#47975
noname#47975
回答No.8

任意のnに対して変換するときのアルゴリズムは以下のとおりに なると思います。 (1)(n-49)を8で割った商をA、余りをBとする (2)前に連続して(A+B)個の8を並べる (3)(2)で並べた8の後ろに、連続して(7-B)個の7を並べる。

ityounomi
質問者

お礼

ありがとうございます。難しいものとあきらめていました。ご提示された式に数字を入れてみると、確かに求めたい数が出てきました。でも、どうやってそういう式を導き出せるんですか?すごいですね! 本当にありがとうございました。

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

その他の回答 (7)

noname#101087
noname#101087
回答No.7

#2 です。 >  n = 7*x+8*y {x, y} のペアについて、解の一意性が保証されてませんね。 まず、   1 = 7*x+8*y について、すぐ見つかる一つの解は {-1, +1} 。 これを n 倍すれば、   n = 7*x+8*y の一解 {-n, +n} 。 これから一般解を作れば、 {-n+8k, +n-7k} (k は任意の整数) になり、非負解の範囲は   7k≦n≦8k に対応する。 n が7*8=56 以上で 7 か 8 の倍数だと、非負解ペアが複数個存在する。 というわけで、どれを選ぶかという別のルールが必要になるのでした。

ityounomi
質問者

お礼

何とか解決することができました。ありがとうございました。また、お世話になりました。心から感謝いたします。

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

再々度書きます。 但し書きが間違っていました。とかきましたが逆でした。 但し、x:0以上の整数、y:1以上の整数 かつn=49のときのみy=0が許される というのが正しいです。 あとは今まで書いた事を読んでください。

ityounomi
質問者

お礼

ありがとうございました。何とか解決することができました。数学が得なようでうらやましいです。本当にお世話になりました。

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

何度も書き直してすみません。初めに回答したものです。 >別の方が次の計算式で求められていますが、これも一つの方法だと思います。 >n=7x+8y >但し、x,y:0以上の整数 >となります。x,yが7と8の個数を表しています。 >これは >n=(8-1)x+8y=8(x+y)-x >と表せるために >上の数列的解法に持ち込むと(x+y)が第k-6群になります。(k-6群となっているのは上の数列的解法では第一群を50から56としているからです。) >やっていることは49以下を含めるのか含めないのかということに差が生じています。というのは表の49だけは他の数字の表し方と違い7のみで表される事を許しているからです。(この式ではy=0を用いることができます。) とかきましたが但し書きが間違っていました。 但し、x:1以上の整数、y:0以上の整数 の間違いです。というのは上にも書きましたが、49のみ全てが7で表されているからです。他の数字は必ず8を含んでいます。 49以外の数字を7のみで書く事を許すと56→77777777のような数字も許される事となりルールに反する事になります。 あと表の73が間違っていると書きましたが実際には65以上の数字は間違っています。

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

>そうすると第k群の最後の数字(8のみで構成される数字)は >49+Σ(7+8+…+(k+6))=49+k(k+13)/2と表されます。 ここですがΣいりません。書き方が間違っていました。 49+(7+8+…+(k+6))=49+Σ(k+6)=49+k(k+13)/2です。 以下あっています。 >よって任意の数字(n)は >50+(k-1)(k+12)/2<=n<=49+k(k+13)/2 >上の条件を満たすとき第k群に属する事がわかります。 >そしてこの群の第何番目かがわかるために8が何個で7が何個か理解で>きると思います。 >第1群のときの8と7の総数は7個、第2群のときの8と7の総数は8個という風に考えると第k群の8と7の総数はk+6個です。またk群の何番目かというのが8の数を表しています。 上記は数列的解法で、エクセルに入れるなら49+k(k+13)/2を式として導入すればすぐに使う事ができます。 別の方が次の計算式で求められていますが、これも一つの方法だと思います。 n=7x+8y 但し、x,y:0以上の整数 となります。x,yが7と8の個数を表しています。 これは n=(8-1)x+8y=8(x+y)-x と表せるために 上の数列的解法に持ち込むと(x+y)が第k-6群になります。(k-6群となっているのは上の数列的解法では第一群を50から56としているからです。) やっていることは49以下を含めるのか含めないのかということに差が生じています。というのは表の49だけは他の数字の表し方と違い7のみで表される事を許しているからです。(この式ではy=0を用いることができます。) 49以下がどのように与えられているのかわかりませんが、全ての任意の整数(n)をエクセルにて表したいというのであれば、この式を使った方が楽だと思われます。 最後に再度書かれた表ですが、73は間違えています。

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

 8ですべて埋め尽くされた次の数は、下7桁がすべて7で、残りの上の桁を8で埋めればよいのですね。(たとえば、73番目は、下7桁が7で、上3桁が8。)  でしたら、エクセルでよければ、次の式で求めることができます。(セルA2に49~200の数字が入っているとします。)   =7777777+(1-10^(-MOD(A2-1,8)))*10^7/9+8/9*(10^(INT((A2-1)/8)-6)-1)*10^7  ただし、この式は数値として扱っていますので、エクセルの有効数字の関係上、121以降は下の桁が丸められてしまい不正確になってしまいます。数値として扱うと不都合がある場合は文字列として扱わなければなりませんので、次の式を使ってください。   =REPT(8,MOD(A2-1,8)+INT((A2-49)/8))&REPT(7,7-MOD(A2-1,8))

ityounomi
質問者

お礼

ありがとうございました。何とか皆さんのお知恵を拝借して解決することができました。本当にお世話になりました。

全文を見る
すると、全ての回答が全文表示されます。
noname#101087
noname#101087
回答No.2

>任意の数字(n)は8が何個で7が何個かを求める式を知りたいのです。 算術なら不定方程式でしょうね。   n = 7*x+8*y の x, y を求めるわけです。

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

一応、まず質問なのですが、上の表は間違っていないでしょうか? 52と53が2回出てきているので、そこが間違っていると思われます。 この問題は群数列の問題かと思います。 8だけで構成される数字をまず取り出して考えますと、 56→8888888 64→88888888 73→888888888 83→8888888888 94→88888888888 以下略という風になります。 つまり数字的には (49+7)+8+9+10+…という風になっていきます。 そこで50から56の7個を第一群、57から64の8個を第二群、65から73の9個を第三群という風に考えます。 そうすると第k群の最後の数字(8のみで構成される数字)は 49+Σ(7+8+…+(k+6))=49+k(k+13)/2と表されます。 よって任意の数字(n)は 50+(k-1)(k+12)/2<=n<=49+k(k+13)/2 上の条件を満たすとき第k群に属する事がわかります。 そしてこの群の第何番目かがわかるために8が何個で7が何個か理解できると思います。 第1群のときの8と7の総数は7個、第2群のときの8と7の総数は8個という風に考えると第k群の8と7の総数はk+6個です。またk群の何番目かというのが8の数を表しています。 例えばn=85のとき第5(=k)群の2番目となるため 88777777777となります(8が2個7が9個)

ityounomi
質問者

お礼

申し訳ありませんでした。ご指摘のとおり間違って掲載しておりました。正しいのは以下のとおりです。 49→7777777(7ずつ7つに区切る) 50→8777777 51→8877777 52→8887777 53→8888777 54→8888877 55→8888887 56→8888888(8で一杯になったら次からは一つ欄を増やす) 57→87777777 58→88777777 59→88877777 60→88887777 61→88888777 62→88888877 63→88888887 64→88888888 65→887777777 66→888777777 67→888877777 68→888887777 69→888888777 70→888888877 71→888888887 72→888888888 73→8887777777 このような並びです。エクセルのVBAで処理を考えているのですがかなり難しそうですね。もしお知恵を拝借できる用でしたら、是非よろしくお願いいたします。

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

関連するQ&A

  • 私にはわからない関数のお礼

    先週私にはわからない関数で、投稿させていただきました。 おかげさまで何とかお力をかりて、解決することができました。 syouzi08様、178tall様、paperchicken様、Mr.Holland様、本当にありがとうございました。再度お礼を申し上げたくて投稿いたしました。 アルゴリズムを考えるのは本当に難しいですね。数学の力がないと難しいアルゴリズムを考えるのは不可能みたいです。現在49以下で以下のようになるアルゴリズムを考えております。 9→5,4 10→5,5 11→6,5 12→6,6 13→7,6 14→7,7 15→8,7 16→8,8 17→6,6,5 18→6,6,6 19→7,6,6 20→7,7,6 21→7,7,7 22→8,7,7 23→8,8,7 24→8,8,8 25→7,6,6 26→7,7,6,6 27→7,7,7,6 28→7,7,7,7 29→8,7,7,7 30→8,8,7,7 31→8,8,8,7 32→8,8,8,8 33→7,7,7,6,6 34→7,7,7,7,6 35→7,7,7,7,7 36→8,7,7,7,7 37→8,8,7,7,7 38→8,8,8,7,7 39→8,8,8,8,7 40→8,8,8,8,8 41→7,7,7,7,7,6 42→7,7,7,7,7,7 43→8,7,7,7,7,7 44→8,8,7,7,7,7 45→8,8,8,7,7,7 46→8,8,8,8,7,7 47→8,8,8,8,8,7 48→8,8,8,8,8,8 49→7,7,7,7,7,7,7 49までの数字を8,7,6に上の規則で分けていったときの8、7、6の個数を求めるものです。18以下になると5も入ってくるので18以下では規則が崩れてしまって、無理なような気がしますが。 49以上の数字では、ご指導いただいたとおり、以下の式で求まられました。 A=(n-49)/8の商の整数部分 B=n/8のあまり 8の個数=A+B-1 7個の数=8-B 6が混ざってくるとどうなるか、お分かりになる方よろしくお願いいたします。

  • 中学生1年 数学中級編ですが・・・

    娘が、数学を教えてほしいとのことで、規則的な数字だそうです。 問題は円になっているのですが、円は関係なさそうです。 数字は、11、25、13、31、16、10、?、で この?に入る数字を求めるのですが・・・ 数学の得意な方がいましたらお願いします。 どうしてかも教えてください

  • 次の整数の問題の解説をお願いします

    問題 任意の正の整数nに対して,次の(A)と(B)をともに満たす正の整数Nが存在することを示せ. (A)Nはn桁であり,各桁の数字は3または8である。 (B)Nは2^nで割り切れる。 数学的帰納法で解くと思うのですが、漸化式がどうもたちません。 お願いします。

  • 極限値とn次関数

    いつも数学が得意な皆様に助けて頂いております。 分からない問題があります。 *以下の極限値で、極限値が存在する場合はその値、しない場合はその理由をのべよ、 1)limsin(1/x) x→0 2)limxsin(1/x) x→0 という問題があります。 2)はlim(sinx/1)=1より 1という解答で大丈夫でしょうか? 1)に関して、これは極限値が存在しないのでしょうか? しない場合の理由を数学音痴な私でも理解できるように説明して頂けると大変助かります。 もう一問質問です。 *y=(x^2-1)^nとおく。この時、(x^2-1)y^(n+2) + 2xy^(n+1) ー n(n+1)y^(n)=0を示せ。ただしy^(n)はyのn次導関数とする。 こちらの解き方を教えて下さい。(上の式ですが、A+B-C=0のような形です。スペースの前までが一つの固まりです) (どうも説明しろ、とか示せ、と言われるとどう書いていいのか分からなくなってしまいます。) 宜しくお願いいたします。

  • 数学における凸関数の問題で質問です。

    数学における凸関数の問題で質問です。 私は関西に住む大学4回生です。 情報系の大学院の試験を受けるにあたって現在、数学の勉強しているのですがどうしても以下の問題の(b)が解けません。((a)は解けました) いろいろ自分でも考えてはみましたが解けそうでなかなか解けません。 どなたかお教え頂けませんでしょうか。 また、試験のほうが間近に迫っていますので、恐縮ですが、早急にお答えいただきますと幸いです。 よろしくお願いします。 以下、問題。 ここでは便宜上、n次元実数ベクトル全体の集合を”R(n)”で表す。 また、R(n)の要素である0ベクトルを”(0) ”で表す。 f:R(n)→R をf((0) )=0である凸関数とする。 以下の問題に答えなさい。 (a) 任意の実数t≧1とR(n)の要素であるxに対して、次が成り立つことを示せ。             f(tx)≧tf(x) (b) 任意のR(n)の要素xに対して、f(x)≦M となる定数Mが存在するとき、任意のR(n)の要素xに対   してf(x)=0であることを示せ。

  • Excel2007「入力規則」とCOUNTA関数

    ●質問の主旨 「データの入力規則」を使って1つの列に相対参照の関数式を 入力するためにはどのようにすればよいでしょうか? ご存知の方ご教示よろしく願います。 ●質問の補足 添付の画像をご参照ください。 現在、N5セルに下記の関数式が入力されています。 =IF(J5>M5,M5+1-J5,M5-J5) この関数式をN6以下のセルにも =IF(J6>M6,M6+1-J6,M6-J6) という具合で「入力規則」として計算ができるようにしたいと 考えております。ただしデータベース形式の表を作成しているので N1からN4までのセルは空白のままにしておきます。 「データの入力規則」の「ユーザー定義」とCOUNTA関数を組み合わせれば できそうな感じですが、具体的にどのように組み合わせれば良いのか 思いつきません。

  • 数II常用対数を用いたn^mの最高位の数字の求め方

    こんにちは。 4月から高2になるものです。 1年の数学の復習をしていたらわからないところがあったので教えていただきたいと思いました。 範囲は数学II・常用対数のところです。 8^nの最高位の数字を求めるとします。 その時、8^nの最高位の数字をa、桁数をlとして、不等式を立てると問題集に書いてあったのですが、なぜその不等式が成り立つのか、そして、その不等式が表わすものがわかりません。 数学が苦手な文系です。 できるだけわかりやすく教えていただけると幸いです。 ご回答、よろしくお願いします。

  • 理数系科目に極端に弱い脳。病気でしょうか?

    女です。 私は中学以降、理数系科目が全く駄目で、興味も無く、理科/数学の授業が苦痛で仕方ありませんでした。 いくら勉強しても、理解できませんでした。(例えば数学の確率。答案用紙の裏を使ってアナログ式の場合わけを延々やっていた) 頭脳が数字や記号を受け付けない/数学を解く機能がついていない、そういう感じでした。 小学校の算数は大丈夫でした。 思い起こせば、センターも国/英/日史はそれぞれ85パーセントの得点を取れましたが、数学と生物がそれぞれ30パーセント程度しか取れず、志望の国立大に進学できませんでした(直前の模試でもことごとく30点台だったのでセンターでも失敗すると薄々感じていましたが) 私の理系不得意は、ちょっと病的な/異常な感じがするのですが、なんかそういう病気でもあるのでしょうか?

  • 関数の問題

    全ての実数で連続な関数f(x)が、xが有理数のときにf(x)=x^n(nは自然数)を満たすとき、 全ての実数でf(x)=x^nであることを以下のように証明したのですが、合ってますか? 間違っているか、もっと良い方法があれば教えて頂けると有り難いです。 証明) xを実数とするとき、任意のε>0に対して、|x-y|<ε⇔x-ε<y<x+ε…(1) を満たす有理数yが存在する。 x>0のとき、εを十分小さくとればx-ε>0とできて、(1)式の辺々をn乗すると、 (x-ε)^n<y^n=f(y)<(x+ε)^n ∴f(x)-(x+ε)^n<f(x)-f(y)<f(x)-(x-ε)^n f(x)は連続だから、ε→0のときf(x)-f(y)→0。すなわちf(x)=x^n x<0のとき、εを十分小さくとればx+ε<0とできて、(1)式の辺々をn乗すると、 (x+ε)^n<y^n=f(y)<(x-ε)^n (nが偶数のとき) (x-ε)^n<y^n=f(y)<(x+ε)^n (nが奇数のとき) いずれの場合もf(x)の連続性から、x>0のときと同様にf(x)=x^nとなる。 以上から任意の実数に対してf(x)=x^n。

  • expの問題がどうしてもわかりません。

    expの問題がどうしてもわかりません。 どなたか数学の得意な方教えてください。 nが自然数のとき、次の式が成り立つことを証明せよ。 ∫x^n exp(-x)dx=n! [0~∞]