求点拨,网易笔试编程第二题通过90%的case,不开心。。。

//代码如下
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextLong()) {
            long h = in.nextLong();
            long i =  (long)Math.sqrt(h); //这个地方会不会产生精度的问题?
        	
            while(i*i + i > h)
            {
            	i--;
            }
            if(h == 2) //没加这个判断之前是80%
            	System.out.println(0);
            else
            	System.out.println(i);
        }
    }
}

#网易#
全部评论
我用c++写的,实现方式和楼主一样,但是不知道为什么一直提示我要多个用例判断,我是做了多用例判断的,但是如果把i由sqrt变成硬搜的话,不提示多用例判断了,随之通过率肯定降低了,总之醉了
点赞 回复 分享
发布于 2016-08-03 09:26
c++  用 long long  直接 过
点赞 回复 分享
发布于 2016-08-03 09:32
不是大数?
点赞 回复 分享
发布于 2016-08-03 09:31
别他妈装逼行不,看着心烦
点赞 回复 分享
发布于 2016-08-03 09:29
用一元二次方程的求根公式,直接int取整。
点赞 回复 分享
发布于 2016-08-03 09:28
难道这题标准的做法不是二分吗=_=
点赞 回复 分享
发布于 2016-08-03 09:11
判断了2,为什么不判断1呢!
点赞 回复 分享
发布于 2016-08-03 00:19
大于等于。。。话说直接套公式就行了
点赞 回复 分享
发布于 2016-08-02 23:03
大于等于吧。 话说直接套公式就可以,一行。。
点赞 回复 分享
发布于 2016-08-02 22:58
原来硬搜也可以过的啊。。
点赞 回复 分享
发布于 2016-08-02 22:37
我也是90%同样不知道为什么
点赞 回复 分享
发布于 2016-08-02 22:29

相关推荐

06-27 18:45
中山大学 Ruby
25届应届毕业生,来广州2个礼拜了,找不到工作,绝望了,太难过了…
应届想染班味:9爷找不到工作只能说明,太摆了或者太挑了。
点赞 评论 收藏
分享
程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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