*[[Problem 539:https://projecteuler.net/problem=539]] 「奇数除去」 [#ia6bcf95]

1 から '''n''' までのすべて整数からなる順序付きリストからはじめよう. まず左から右に, 最初の数字から 1 つおきにある数をリストの最後まで除去していく. 次は右から左にこの手順を繰り返し, 一番右にある数から左に 1 つおきにある数を除去していく. 左から右へ, そして右から左へと交互に 1 つおきの数を除去していき, 最後に数が 1 つとなるまで続けていく.

'''n''' = 9 の場合はこのようになる :

%%%1%%% 2 %%%3%%% 4 %%%5%%% 6 %%%7%%% 8 %%%9%%%~
2 %%%4%%% 6 %%%8%%%~
%%%2%%% 6~
6

長さ '''n''' のリストから始めて最後に残る数を '''P'''('''n''') としよう.~
&ref(p539_eq.png,nolink); としよう.~
'''P'''(1)=1, '''P'''(9) = 6, '''P'''(1000)=510, '''S'''(1000)=268271 が与えられている.

'''S'''(10&sup{18};) mod 987654321 を求めよ.

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS