問題一覧 > 通常問題

No.1559 Next Rational

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 35
作問者 : noya2 / テスター : nok0 tassei903
3 ProblemId : 6033 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-06-14 23:35:28

問題文

正整数 N,A,B,K が与えられます。

数列 {an} を次のように定めます。

ai={A(i=1)B(i=2)ai12+Kai2(i3)

{an} の第 NaN を求めてください。

aN は有理数になることが示せるので、これを以下に述べるようにmod109+7 で出力してください。


有理数を出力する際は、まずその有理数を分数 yx として表してください。

ここで、x,y は整数であり、x109+7 で割り切れてはなりません (この問題の制約下で、そのような表現は必ず可能です)。

そして、xzymod109+7 を満たすような 0 以上 109+6 以下の唯一の整数 z を出力してください。

制約

  • 入力はすべて整数
  • 1N1018
  • 1A,B,K109
  • 入力

    N A B K
    

    出力

    aN を指示に従って出力してください。

    最後に改行してください。

    サンプル

    サンプル1
    入力
    5 5 3 1
    出力
    888888897

    a1=5,a2=3

    an+2=an+12+1an(n1)

    ですから、a3=2, a4=53, a5=179 となります。

    よって、9z17mod109+7 となる 0 以上 109+6 以下の唯一の整数 z=888888897 を出力します。

    サンプル2
    入力
    100 1 2 3
    出力
    837764073

    aN が非常に大きな値となることもあります。

    サンプル3
    入力
    314159265358 271828 161803 57721
    出力
    449615573

    提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。