v(...h(g(f(x)))...)などのように、1変数の関数を多数、合成関数にすることを考えます。使える
関数を、Google電卓の組み込み関数だけに制限しましょう。Google検索のトップページの検
索窓で使えるものですね。
Google電卓のreferenceは、例えばこちらにあります。1変数の組み込み関数がたくさんあ
ります。
さて、チャレンジして頂きたいのですけれども、適切に合成関数Fをつくって頂いて、以下の
ような性質の関数を実現してください。
自然数nについて、F(n(n+2))=n+1
たとえば、F(15)=4 、F(24)=5 、F(35)=6 など...。
先日知人に教わってかなり時間がかかったパズルです。
※Google電卓の処理能力による制限で任意のnについてうまくいくとは限りませんが、そこは
御勘弁下さいますよう。
らすかるさんからのコメントです。(平成30年3月26日付け)
F(x) = tan(acos(sin(atan(cos(atan(sqrt(x)))))))
もし、関数の一種である負符号の「−」を使ってよければ、
F(x) = exp(-ln(cos(atan(sqrt(x)))))
ハンニバル・フォーチュンさんからのコメントです。(平成30年3月26日付け)
らすかるさん、素早い御解答、流石です。ところで、お察しのように、この F を補助線にし
て 次のような合成関数 G を作ることができます。
正の整数 n について、 G(n) = n+1
( wolframalpha ならば少しだけ簡単なのですけれども。 )
DD++さんからのコメントです。(平成30年3月26日付け)
sec(atan(sqrt(x))) で、どうですかね。x>0 の範囲で √(1+x) と恒等的に等しいはず。
らすかるさんからのコメントです。(平成30年3月27日付け)
DD++さんのsec(atan(sqrt(x)))を使わせて頂いて、
G(n) = exp(ctan(atan(ln(sqrt(exp(ctan(atan(ln(sec(atan(sqrt(n))))))))))))
ハンニバル・フォーチュンさんからのコメントです。(平成30年3月26日付け)
らすかるさん、DD++さん、ありがとうございます。蛇足になりますが、解説をば。
●逆数にする(三種類)
tan(asin(cos(atan(3)))) = 1 / 3
tan(acos(sin(atan(4)))) = 1 / 4
ctan(atan(5)) = 1 / 5
●値を半分にする
ln(sqrt(exp(1 / 5))) = 1 / 10
●逆数にして値を半分にして逆数にすると2倍になる
ctan(atan(ln(sqrt(exp(ctan(atan(5))))))) = 10
●対数をとって二倍してから指数関数に食わせると自乗になる
exp(ctan(atan(ln(sqrt(exp(ctan(atan(ln(7))))))))) = 49
●来年の年賀状に
exp(ctan(atan(ln(sqrt(exp(ctan(atan(ln(sec(atan(sqrt(2018)))))))))))) = 2019
=== 蛇足の蛇足
らすかるさんの F(x) = tan(acos(sin(atan(cos(atan(sqrt(x))))))) ですが、
tan(acos(sin(atan(・)))) が逆数を計算するものになっているのでした。
cos(atan(sqrt(x))) の逆数はDD++さんのおっしゃるところの sec(atan(sqrt(x))) ですね。
DD++さんからのコメントです。(平成30年3月27日付け)
●1を足す
lg(ctan(atan(ln(sqrt(exp(ctan(atan(exp(ctan(atan(lg(exp(ctan(atan(x)))))))))))))))
y=x+1、出来ました。定義域は、0を除いた全実数。
……ただ、関数が多すぎるのか、あるいは私が何かミスってるのか、Google 先生は計算放
棄しますが。0 も含めた全実数で y=x+1 は作れるんでしょうか?
おまけ:1を足すより1を引く方が実は簡単(関数11個)説。
lg(ln(sqrt(exp(exp(ctan(atan(lg(exp(ctan(atan(x)))))))))))
ハンニバル・フォーチュンさんからのコメントです。(平成30年3月28日付け)
DD++さん、とても面白い組み立てですね。
負のほうは、
log_2(ctan(atan(ln(sqrt(exp(ctan(atan(exp(ctan(atan(log_2(exp(ctan(atan(-9.4712)))))))))))))))
= -8.4712
あたりが限界のようですけれども、内部計算のどこかでオーバーフローかアンダーフローか
が発生しているのでしょうか?
DD++さんからのコメントです。(平成30年3月28日付け)
ある程度組み合わせたパーツで考えていたので作ったときは気づきませんでしたが、途中
で1回、二重指数関数になりますね、これ。計算機でやるには向いてない構成でした。