天天看點

Eat Candy(暴力,水)

Eat Candy

Time Limit: 1 Sec  Memory Limit: 128 MB

Submit: 8  Solved: 6

[Submit][Status][Web Board]

Description

   There is a box with infinite volume. At first there are ncandies in the box. Then every second you will eat some candies, left half of candies (round down) in the box. Then add k candies into the box. How many candies there are in the box after 109+7seconds?

Input

   There are multiple test cases. In each test case, there are only one line contains two integers n,k(1≤n,k≤109+7)

Output

    For each test case, output the answer in one line.

Sample Input

4 5
2 3      

Sample Output

9
5      

HINT

In the first test case:

1st second, 4->2, 2+5 = 7

2nd second, 7->3, 3+5 = 8

3rd second, 8->4, 4+5 = 9

4th second, 9->4, 4+5 = 9

題解:每次n為n的一半加k,問經過1e9+7次後的值;

代碼:

import java.util.Scanner;


public class EatCandy {
    public static void main(String[] args){
        int n, k;
        Scanner cin = new Scanner(System.in);
        while(cin.hasNext()){
            n = cin.nextInt();
            k = cin.nextInt();
            while(n != (n/2 + k)){
                n = n / 2 + k;
            }
            System.out.println(n);
        }
    }
}