题解 | #计数器#

计数器

http://www.nowcoder.com/practice/e953b0dc87bb43f29cb042c7a9f31598

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);

        while(sc.hasNextLong()){
            long n = sc.nextLong();
            System.out.println(fun(n));
        }
    }

    public static long fun(long n){
        if(n <= 3){
            return 3 - n + 1;
        }

        int index = 1;
        long num = n;
        while(num > 3 * Math.pow(2, index - 1)){
            num -= 3 * Math.pow(2, index - 1);
            index++;
        }

        return 3 * (long)Math.pow(2, index) - 2 - n;
    }
}
全部评论

相关推荐

2025-12-17 17:53
门头沟学院 Web前端
海梨花:我之前面试也是问我非技术问题,问过我怎么统计北京出租车数量,不借助任何网络或者其他平台的帮助,有足够多的人可以帮忙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务