x = (4N-1+(-1) ^ N) /2
という関数があります。
これを、
Nについての式として
N=の形に直したいのですが、方法がわかりません。
逆関数、というものを使うらしいというところまではたどり着いたのですが。
回答だけでなく、わかりやすく、解法を教えていただけると幸いです。
明記してありませんが、n=1, 2, 3, …のつもりでしょうか。違うなら適宜直すように。
そうだとすると、
n=1, 3, 5, …のとき x=(4n-2)/2=2n-1 (x=1, 5, 9, …)
nについて解くと n=(x+1)/2
n=2, 4, 6, …のとき x=4n/2=2n (x=4, 8, 12, …)
nについて解くと n=x/2
以上より
n=(x+1)/2 (x=1, 5, 9, …)
n=x/2 (x=4, 8, 12, …)
明記してありませんが、n=1, 2, 3, …のつもりでしょうか。違うなら適宜直すように。
そうだとすると、
n=1, 3, 5, …のとき x=(4n-2)/2=2n-1 (x=1, 5, 9, …)
nについて解くと n=(x+1)/2
n=2, 4, 6, …のとき x=4n/2=2n (x=4, 8, 12, …)
nについて解くと n=x/2
以上より
n=(x+1)/2 (x=1, 5, 9, …)
n=x/2 (x=4, 8, 12, …)
場合分けが嫌なら、例えば
n={2x+1-(-1)^x}/4 (x=1, 4, 5, 8, 9. …)
と書くこともできます。
そもそも昔は場合分けして定義した関数を1つの関数とは認めていなかったのです。しかし書き方によって1つの関数になったり、そうでなくなったりすることが分かってきて、その定義は廃れたのです。
すみません、nは自然数です。
xを使った式なのに、xに条件がついてしまうのがもやっとしてしまって。
プログラムで解こうとすると、いったん答えを出して、それの奇偶判定をして、というのがスマートでないと感じたもので、もっとシンプルな式があるのかな、と思った次第です。
使っている言語が何かわかりませんが、奇偶で場合分けしたくないだけなら、整数除算を使って次のような感じでどうでしょうか。(^_^;
BASIC系なら、n=(x+1)\2 とか、n=INT((x+1)/2)
CやJavaなら、n=(x+1)/2
Python なら、n=(x+1)//2 とか、n=int((x+1)/2)
※参考URL
http://d.hatena.ne.jp/rsc96074/20180319/1521450025
場合分けが嫌なら、例えば
2018/03/19 19:19:05n={2x+1-(-1)^x}/4 (x=1, 4, 5, 8, 9. …)
と書くこともできます。
そもそも昔は場合分けして定義した関数を1つの関数とは認めていなかったのです。しかし書き方によって1つの関数になったり、そうでなくなったりすることが分かってきて、その定義は廃れたのです。