京东算法笔试第一题很简单,为什么就是只能AC40%

#include <iostream>
#include <math.h>
using namespace std;
int main(){
int n;
cin>>n;
double m;
m=(sqrt(double(1+8*n))-1.0)/2.0;      
int x=(int)m;
float k;
k=m-(float)x;
if(k>0.0)
x++;
cout<<x;
return 0;
}
全部评论
经过求解算出来的解x,直接return int(math.ceil(x))就可以AC了
点赞 回复 分享
发布于 2017-09-08 21:14
这个是什么思路
点赞 回复 分享
发布于 2017-09-08 21:19
long long
点赞 回复 分享
发布于 2017-09-08 21:17
向上取整不就一下完事了吗?
点赞 回复 分享
发布于 2017-09-08 21:14
long long
点赞 回复 分享
发布于 2017-09-08 21:13
因为你这个超时了吧。
点赞 回复 分享
发布于 2017-09-08 21:12
我long完就全AC了
点赞 回复 分享
发布于 2017-09-08 21:12
要分情况讨论,当8*n+1开方是整数时,结果不一样
点赞 回复 分享
发布于 2017-09-08 21:12
python 的话怎么办。。。
点赞 回复 分享
发布于 2017-09-08 21:10
用long类型
点赞 回复 分享
发布于 2017-09-08 21:10

相关推荐

大摆哥:刚好要做个聊天软件,直接让你帮他干活了
点赞 评论 收藏
分享
练习JAVA时长两年半:qps 30000
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务