Coddy Active Users
Coddyの「コーディング面接チャレンジ - パック III」コースのレッスン 3/3。
Coddyの登録ユーザー全員がアクティブであるわけではありません。
Coddyの週間アクティブユーザーを表す再帰関数は、以前の登録ユーザー(前回のチャレンジから)と以前のアクティブユーザーの両方を含む計算です:
先週にx1人のユーザーとx2人のアクティブユーザーがおり、今週にy1人のユーザーとy2人のアクティブユーザーがいた場合、Coddyは来週x1+x2+y1+y2人のアクティブユーザーを持つことになります。
Coddyは最初の週に0人のアクティブユーザー、2週目に1人のアクティブユーザーがいました。
チャレンジ
難しい整数 n を受け取り、n 週目に Coddy にいる アクティブユーザー の数を 109 + 7 で割った余り として返す関数 getActiveUsers を作成してください。
制約:
1 < n < 100
例 1,
入力: 3
期待される出力: 2
説明: この場合、x1=x2=0, y1=y2=1 となるため、3週目のアクティブユーザーは 0+0+1+1=2 人になります。
例 2,
入力: 4
期待される出力: 7
説明: 2+3+1+1=7。
例 3,
入力: 5
期待される出力: 22
説明: 2+3+10+7=22。
自分で試してみよう
int getActiveUsers(int n) {
// ここにコードを記述してください
}