即席巨大数に投稿する数です
概要[]
んから始まる巨大数を作りたかった、、
定義[]
\(i,j,k,l,x\) を非負整数とする。非負整数を格納した配列 \(n_i\) を \(n_i=(m_{i,0},m_{i,1})\) とする。配列 \(n_i[0\leqq i\leqq k]\) の列 \(N\) を \(N=\{n_{0}n_{1}...n_{k}\}\) と定義する。ただし \(N\) に成分が存在する場合、 \(m_{i,0}\lt m_{i+1,0}\) のとき \(m_{i,0}+1=m_{i+1,0}\) とし、 \(m_{0,0}=0\) とする。配列の列同士の連結を \(\sim\) と定義する。このとき、配列の列を書き換える関数 \(NNA(N,x)\) を定義する。
- \(N=\{\}\) なら \(NAA(N,x)=\{\}\) 。
- \(n_k=(0,0)\) なら \(N\) から \(n_k\) を除外して、 \(NAA(N,x)=\{n_{1}...n_{k-1}\}\) 。
- \(n_k=(0,m_{k,1})\) でありかつ \(m_{k,1}\) が1以上の整数なら \(NAA(N,x)=\{n_{0}n_{1}...n_{k-1}(0,m_{k,1}-1)(1,m_{k,1}-1)...(x,m_{k,1}-1)\}\) 。
- \(n_k=(m_{k,0},0)\) でありかつ \(m_{k,0}\) が1以上の整数なら \(m_{j,0}+1=m_{k,0}\) であるような最大の \(j\) が存在する。このとき配列の列 \(んな=\{n_{0}n_{1}...n_{j-1}\}\) 、配列の列 \(ぁ=\{n_{j}n_{j+1}...n_{k-1}n_{j}\}\) として、 \(NAA(N,x)=んな\simぁ\simぁ...\simぁ\:[x個のぁ]\) 。
- \(n_k=(m_{k,0},m_{k,1})\) でありかつ \(m_{k,0}\) , \(m_{k,1}\) が1以上の整数なら、\(m_{j,1}\lt m_{k,1}\) であるような最大の \(j\) を見つける。
- そのような \(j\) が存在する時、配列の列 \(んな=\{n_{0}n_{1}...n_{j-1}n_{j}\}\) 、 \(N\) と非負整数 \(l\) を入力して配列の列を返す関数 \(ぁ(N,l)\) を \(ぁ(N,l)=\{(m_{j+1,0}+l,m_{j+1,1})(m_{j+2,0}+l,m_{j+2,1})...(m_{k-1,0}+l,m_{k-1,1})(m_{k,0}+l,m_{k,1}-1)\}\) として、 \(NAA(N,x)=んな\simぁ(N,(m_{k,0}-m_{j,0})\times 0)\simぁ(N,(m_{k,0}-m_{j,0})\times 1)...\simぁ(N,(m_{k,0}-m_{j,0})\times x)\:[x+1個のぁ]\)
- そのような \(j\) が存在しない時、配列の列 \(んな=\{\}\) 、 \(N\) と非負整数 \(l\) を入力して配列の列を返す関数 \(ぁぁ(N,l)\) を \(ぁぁ(N,l)=\{(m_{0,0}+l,m_{0,1})(m_{1,0}+l,m_{1,1})...(m_{k-1,0}+l,m_{k-1,1})(m_{k,0}+l,m_{k,1}-1)\}\) として、 \(NAA(N,x)=んな\simぁぁ(N,(m_{k,0}+1)\times 0)\simぁぁ(N,(m_{k,0}+1)\times 1)...\simぁぁ(N,(m_{k,0}+1)\times x)\:[x+1個のぁぁ]\)
非負整数を入力して非負整数を返すんなぁ関数 \(NANATI(n)\) を定義する。2以上の整数 \(r\) 、配列の列 \(N=\{(0,n)\}\) について \(NNA(...NNA(NNA(NNA(N,2),3),4)...,r)=\{\}\) となる(空列となる)最小の \(r\) が存在し、
\[NANATI(n)=r\]
と定める。
巨大数[]
\[NANATI(8777771^{87771})\] をんなぁ数とする。
追記[]
ちょっと場合分けの仕方が分かりにくいかもと思ったのでここに書き方を変えたやつを書いた。