区间映射

geohash编码

http://www.nowcoder.com/questionTerminal/46bd43f043c54013a67816d0a2946506

这道题的测试用例答案有问题,是由整数除法的舍入误差造成的。
如果用二分法,每次都应该用浮点数。
例如:5°的答案应该是100001,而不是100010

import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double n = sc.nextDouble();
        n += 90;  //把区间[-90, 90]映射到[0, 180]
        n *= 64.0/180;  //把区间[0, 180]映射到[0, 64]
        int N = (int)Math.floor(n);  //把答案向下取整
        String r = Integer.toBinaryString(N);//把答案化成二进制
        while(r.length() < 6) r = "0" + r;//用0补齐位数
        System.out.println(r);
    }
}
全部评论

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
05-07 13:29
已编辑
门头沟学院 Java
北斗导航Compass低仿版:能不能先搞清楚优先级啊,怎么可能是项目问题,项目很重要吗?又没学历 又没实习大厂凭啥约面?那玩具项目 没应用在真实生产环境下的 就算做上天又有什么用?早点找个小公司实习 拿小公司实习去投大厂实习,这才是你现在该做的
投递美团等公司10个岗位 简历被挂麻了,求建议
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务