#include<stdio.h> int main(){ int n, k, limit; //站台的总数N 初始车上的人数k while(scanf("%d %d %d", &n, &k, &limit) != EOF){ if(n==0 && k==0 && limit==0) break; long long dp[n]; dp[1] = k; dp[2] = k - k/2 + k; for(int i=3; i<n; i++){ dp[i] = 2*dp[i-1] - dp[i-1]/2; } int j = 1; while(dp[j] < limit){ j++; } printf("%d\n", dp[j]); } return 0; } |
Double click to view unformatted code.