配列については、ポインタ使わず、戻り値を構造体にすれば、大体は凌げるとは思うが、
問題はループだよな。副作用抜きなら再帰しか無いわけだし、末尾最適化に祈るしか無い。