このクイズのヒント
-
ヒント知らないよ
このクイズの参加者(5人)
広告
広告
広告
広告
広告
広告
広告
広告
クイズ大陸関連書籍
|
ぱっくり千夜一夜
難易度:★★★★
length 2016/01/02 11:21 一夜(かずや)と千夜子(ちやこ)とは双子の兄妹です。そんなふたりのある日の会話を聞いてみましょう。
千夜子「前さ、1から10を作れって問題出したよね。」 一夜「ああ、これね。」 http://quiz-tairiku.com/q.cgi?mode=view&no=18267 一夜「気に入った?」 千夜子「面白かったけど、腕立てが見れなかったからなー。」 一夜「なんだそりゃ。」 千夜子「だから今度は私が問題出す!解けなかったら腕立てね。」 一夜「出題者に挑むとは強気だな。で、どんな問題?」 千夜子「今度は0から2016を作って。年も明けたしね。」 一夜「難しそうだな。0だから小数点も意味ないし…」 千夜子「小数点は使えないよ。」 一夜「え?」 千夜子のメモには以下の条件が書かれていました。 ------ ・数値は"0"一つしか使えない。 ・以下の字は何度でも使える。 abcdefghijklnmopqrstuvwxyz() ※当然eやpiなどは使えない。 ・プログラミング言語での表現は使えない。 ------ 一夜「なるほど。」 千夜子「面白いでしょ?」 一夜「使えるものが増えたな。sinとかlnとか。」 千夜子「sqrtも使えるよ。」 一夜「階乗は…factorialか…」 一夜は呟きながらネット検索を始めました。 千夜子「腕立てより大変かもね。」 何か企みがあるようです。 ・問題 2016を作ることはできるのでしょうか。
|
push-up=0times
-はマイナスではなくハイフンでpush-up=腕立て伏せでそれが0回と言うことで^^ 数学はぜんぜん駄目な私が腕立てを回避する方法
length
千夜子「=は使えないよ!」
length
千夜子「数値!」
length
千夜子「数値は0だけ!」
EXCEL関数のodd、evenを使えば簡単です。
odd(0)=1,even(1)=2というように1ずつ増やせますので、 even,oddをあわせて2016個使って、 even(odd(even(odd(・・・even(odd(0))・・・) と書けば2016になります。 これは有効なのか
length
何と、そんな関数があるとは
かなり単純ですね。 なお、Wolfram alphaで確かめたところなぜかoddのみありました。 >>5のように(この関数は予想外でしたが )
一定の関数を多重にかけることで任意の自然数を作ることができる、 ということを示せばOKです。 (「作ることはできるか。」と書いたのはそのため ) その方法はたくさんあります。 MMXVI
http://www.google.co.jp/gwt/n?u=http://roman-numerals-converter.com/conversion.php?id=MMXVI ローマ数字を使うと括弧なしでいけますね…… 茄子?
length
大文字は使えないのですが
なんか今日の年月日を返す関数と、日付データから年数だけ返す関数があった気がするのでそれを組み合わせられないでしょうか?
・セルA0に「今日の年月日を返す関数」 ・他のセルに「日付データの年数だけ返す関数(セルA0)」 そもそもA0ってセルがあったかも覚えてないんですが・・・A1からでしたっけ^^; それに引数としてセルを参照するときにセルの座標だけよかったかも覚えてない;; excelのことなんてすっかり忘れてますが
length
まわりくどい
log(cube(square(square(square(square(square(exp(ceiling(cube(exp(exp(0))))))))))))
Wolfram alphaで有効な2016になる式です。
一般の自然数についてはまとめ中です。
length
square(),cube()は存在しないと思っていました
xを0以上の実数とします。
Wolfram alphaの場合、 log(sqrt(exp(x)))でx/2、 log(cube(exp(x)))で3x、 が計算できます。 つまり、xを半分にする、3倍にするという操作が自由にできます。 また、ceiling,floor関数で小数部の切り上げ、切り捨てもできます。 nを2以上の任意の自然数とします。 nが因数3を持つ場合、n/3は自然数で、n/3を3倍すればnが作れます。 nが因数3を持たない場合、nを3で割ったときの余りは1か2です。 余りが1の場合、ある自然数kを使ってn=3k+1と書けます。 2n+1=6k+3=3(2k+1) ですので、(2k+1)を3倍し、半分にすることによって(n+1/2)が作れます。 小数部を切り捨てるとnになります。 2k+1=n-kですので2k+1<nです。 余りが2の場合、ある自然数kを使ってn=3k-1と書けます。 2n-1=6k-3=3(2k-1) ですので、(2k-1)を3倍し、半分にすることによって(n-1/2)が作れます。 小数部を切り上げるとnになります。 2k-1=n-kですので2k-1<nです。 以上より、2以上の自然数はそれよりも小さな自然数から作ることができることが示されました。 どの自然数も最終的に1にたどり着きます。 1=exp(0)ですので、任意の自然数を作ることが可能です。 Wolfram alphaで任意の自然数が作れることの証明です。
(式の長さを気にしなければですが)
length
わかりやすいですね。
sixtythird triangular number
wolframalphaでは上記で2016になります。 ( http://m.wolframalpha.com/input/?i=sixtythird+triangular+number&js=off&x=0&y=0 ) 《賀茂なす》を油で揚げて綺麗な紫色を出してみました。
length
63番目の三角数…
63*64/2=2016ですか 綺麗ですね wolframalphaでは、 log2 128 と入力すると 7 と計算します。 128=2^7 の、 2 が底の対数を求めるからと考えられます。 ( http://m.wolframalpha.com/input/?i=log2+128&js=off&x=7&y=7 ) また、Google電卓でも、計算結果は 7 です。 ( http://www.google.co.jp/search?hl=ja&source=hp&biw=&bih=&q=log2+128&btnG=Google+%E6%A4%9C%E7%B4%A2&gbv=2 ) === wolframalphaやGoogle電卓でのテキスト解析では認めてはくれないのですが、上記をふまえますと、aの、aを底とする対数をとれば 1 のはずです。 loga a = 1 同様にして、a^7については、 loga a^7 = 7 であり、すなわち、 loga aaaaaaa = 7 が期待されます。 aを2016個連ねれば、2016が期待されます。このばあいは括弧なしで。 ⇒実際上は、2016=4*7*8*9とみて、 (loga aaaa)(loga aaaaaaa)(loga aaaaaaa)(loga aaaaaaaaa) あたりで…… === よいしょ。
length
計算できないのが惜しいです
(数値は0のみ、と書いたら未知数を使われた )
length
>>9が本当にあった
length
これは、
任意の自然数を作れる証明どうりに解くと その関数を大量に書かなくてはならない=腕が疲れる という意味でした。 実際には疲れない方法があったという WolframAlpha の入力欄に、空白(複数可)、ないし、小文字の a b c d e f g (それぞれ1文字づつを必ず使用)【他の字や記号は一切禁止】を入力して Result: に 4 を 表示する遊び、やってみませんか? ⇒ https://t.co/yI4rNatRZb これの応用で括弧なしで 2016 も作れるはずなのですが、システムは処理能力を越えてエラーとなります。(ふうう) ぱっくり版はわたしには難しいです。とほほ
length
さっぱりわかりません
http://m.wolframalpha.com/input/?i=deg+a+b+c+f&js=off&x=0&y=0 deg a b c f 上記にて多変数多項式 abcf の次数4を求められます。 deg x x x x x x x これなら 7 なんですが…… No.19の追補です。宜しく御願い致します。 完全に茄子ですが。(≧∇≦)
length
degreeにこんな意味が
ちなみに括弧なし(空白あり)は可能です。 primepi(nextprime(prime(n))) http://m.wolframalpha.com/input/?i=primepi%28nextprime%28prime%28n%29%29%29&js=off&x=0&y=0 WolframAlphaの組み込み関数をみっつ選んで合成関数としてみました。 f(x) = a(b(c(x))) の形です。 nを自然数としたときに、 n+1=f(n) となります。 これで任意の自然数を表現できることになりました。 f(f(f(1)))=4 など。 ただし、1は、cos(0)などで表現します。
length
「n番目の素数の次の素数以下の素数の数」ですか
wolfram、強いですね。 実は2つでも可能です floor(exp(digamma(prime(floor(exp(digamma(prime(floor(exp(digamma(square(cube(2)))))))))))))
手作りの逸品です。 追記: 2=ceiling(arccos(0)) を代入するのを忘れていました orz
length
なぜdigammaを採用したのか気になります。 >No.22 lengthさん ◆楽屋裏 307番目の素数が2017だと昨年末に気がついておりました。 今回の御出題を拝見して、すぐに、2016 を作るためには、2017から1を引けるといいなあと思いました。ですが、合成関数を作って自然数から1を引く真っ当な手段がみあたりませんでした。 先日、苦し紛れにMathematicaのドキュメントを読み、関数を片端から漁っていたところ、Digammaの無限遠点での級数展開の表記に目がとまり、ふと、こいつをExp[]に喰わせたらどうなのかと、何かが降りてきました。{※1} さっそくWolframAlphaにて、Exp[Digamma[x]]を確認し、以下の通りとなりました。 (1) 正の範囲でグラフが一直線にかなり近い。 (2) x→∞ での級数展開が次のようになっていて感じがいい。 x - 1/2 + O(1/x) …… うまくするとこれ、【ほぼ1/2を引くことになってないかなw】 ……まあ無限遠点でのハナシだし…… Exp[Digamma[2]] は どうかな?→ 1.526... イイカンジ!! === 《《《仮説登場》》》 n = Floor[Exp[Digamma[ n+1 ]]] というわけでして、合成関数にて、自然数から1を引ける候補が生まれました。 今回の御出題における、ひとつの解としては、たとえば、2017から1を引けるかなど、ごく少数の例で減算がうまくできることを確認できればオッケーと腹をくくり、回答案をしたためました。任意の自然数でうまくいくか証明はしていませんが、ほぼ大丈夫?? ●※1 Log[1+x]のx=無限での級数展開と、Digamma[x]のそれとで、主要項がなんとなく似ている……程度の野蛮な観察からです。
length
面白い!
2016 = primepi(eulerphi(prime(prime(primepi(eulerphi(prime(prime(primepi(eulerphi(prime(primepi(eulerphi(prime(primepi(eulerphi(prime(primepi(eulerphi(prime(prime(prime( 8 )))))))))))))))))))))) 8 = primepi(eulerphi(prime(primepi(eulerphi(prime(primepi(eulerphi(prime(prime(prime(prime(prime( cos(0) ))))))))))))) もうね……降参させてください。2つの関数でというのがみつかりません。しかたないのでまた変なのを。
length
なんだこれは
>No.24 lengthさん n = primepi(eulerphi(prime(n+1))) n = primepi(carmichaellambda(prime(n+1))) のようです。
length
?
length
ビット反転があった
別解とすべきか 二進数です。ビットをたてたりabs(bitnot(*)) 左にシフトしたりbitshiftleft()できるので任意の自然数が表現可能です。
2016 = bitshiftleft(bitshiftleft(bitshiftleft(bitshiftleft(bitshiftleft( 63 ))))) 63 = abs(bitnot(bitshiftleft(abs(bitnot(bitshiftleft(abs(bitnot(bitshiftleft(abs(bitnot(bitshiftleft(abs(bitnot(bitshiftleft(abs(bitnot(0))))))))))))))))) 作り方をみれば任意の自然数で可能とすぐにわかります。
length
実は意図解の一つはこんなかんじです。
wolphramネタ
1を元手に好きなだけ左にシフトしてからビット長を求められますね。 bitlength(bitshiftleft(bitshiftleft(1))) もひとつ……
length
bitlength(n)=log2(x)ですね。
length
つい正解にしてしまいましたが不正解でした。 1を加えたり減じたりする道具をまたひとつみつけました n+1=Ceiling[Ln[Ceiling[Exp[n]]]] n=Floor[Ln[Floor[Exp[n+1]]]] 応用して BitShiftLeft[BitShiftLeft[BitShiftLeft[BitShiftLeft[BitShiftLeft[Floor[Ln[Floor[Exp[Cube[Square[Floor[Exp[Exp[0]]]]]]]]]]]]]] を得ます。 そろそろ知恵熱が。
length
綺麗ですね
2関数解です。
まず、cos(acos(x))=xです。 (acos(x)は多価かつ[-1,1]外では複素数ですが問題ないようです) また、vercosin(x)=cos(x)+1という関数が存在する(!)ので、 (参考:https://ja.m.wikipedia.org/wiki/三角関数の公式の一覧) vercosin(acos(x))=x+1となります。 http://m.wolframalpha.com/input/?i=vercosin%28acos%28x%29%29&x=0&y=0
length
良いですね
n+1 = Log[Sec[Arccos[Exp[Exsec[Arccos[Secant[Arccos[Log[Sec[Arccos[Exp[ n ]]]]]]]]]]]]
1を減らす No.33 に 他の関数をかぶせて 1 を加えるものに変身させてみました。
length
少しずつ意図解に近づいてきた
length
正解ですが…意図解には「おしい」です。
squareをなくしましょう n+1 = ceiling(cosec(sec(arccos(n))))
ということでしょうか… ceilingのお世話になっています
length
いえ、squareをより自然(?)な関数で表現するということです
意図解です。
squareをより自然な(?)関数に変換します。 square(x)=exp(double(ln(x))) =exp(reciprocal(half(reciprocal(ln(x))))) =exp(reciprocal(ln(sqrt(exp(reciprocal(ln(x))))))) =exp(cot(atan(ln(sqrt(exp(cot(atan(ln(x))))))))) なので、 x+1=exp(cot(atan(ln(sqrt(exp(cot(atan(ln(sec(atan(sqrt(x))))))))))))です。 http://m.wolframalpha.com/input/?i=exp%28cot%28atan%28ln%28sqrt%28exp%28cot%28atan%28ln%28sec%28atan%28sqrt%28x%29%29%29%29%29%29%29%29%29%29%29%29&x=0&y=0 一夜「千夜子姉さん、やっとできたよ。これで1を加算できるね。1変数の多重な合成関数で実現できるのってなんだか不思議だ。」 千夜子「姉さん呼ばわりするな。そんなことより、それ、微分したら1になるはず。検算したか?」 一夜「」 千夜子「よもや合成関数の微分ができないとでも?」 一夜「」 千夜子「それともarctanとか微分できないのか?」 一夜「」 千夜子「ちっ」 一夜「……」
length
・続き
>>37と同様に double(x)=cot(atan(ln(sqrt(exp(cot(atan(x))))))です。 さらに、 double(double(x))=cot(atan(ln(sqrt(sqrt(exp(cot(atan(x)))))))です。 +1と*2^nを作ることが出来たので、現実的な式の長さで2016を作ることができます。 (2016(10)=1111100000(2)) さらに、 ・x+1の逆関数がx-1である ・11111(2)は100000-1と記述したほうが短い などの方法を取ることで cot(atan(ln(sqrt(sqrt(sqrt(sqrt(sqrt(exp(cot(atan(exp(cot(atan(ln(sqrt(exp(cot(atan(ln(tan(acos(sqrt(ln(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(exp(exp(0)))))))))))))))))))))))))))))))))=2016 と書くことができます。 ・オマケ
記号のみでも可能です。 [|(-√√√√√√√√√√√√√-|(-√√√√√√-|(-√√√√√√√√-|(-√√√√√√√√√-0!)!|)!|)!|)!|]=2016 floor(abs((-√√√√√√√√√√√√√-abs((-√√√√√√-abs((-√√√√√√√√-abs((-√√√√√√√√√-0!)!))!))!))!))=2016 「メイクテン千夜一夜」 http://quiz-tairiku.com/q.cgi?mode=view&no=18267 の>>12の青文字の応用です。 任意の自然数で可能かは不明です。 |