//求测试 #include<iostream> using namespace std; long long maxlimt = 1E18 + 2; int _tmain(int argc, _TCHAR* argv[]) { long long num; while (cin >> num &&1 <= num&&num <= maxlimt) { long long x = sqrt(1 + 8 * num) / 2; long long temp; if (x % 2 == 0) temp = (x / 2 * (x + 1)); else temp = (x + 1)*((x - 1) / 2) + (x-1) / 2 + 1; if (temp < num) { while (temp<=num) { x++; temp = temp + x; } } if (temp - num>x) x--; cout << x << endl; } return 0; }
点赞 评论

相关推荐

12-08 15:35
浙江大学 Java
点赞 评论 收藏
分享
淬月星辉:专利是什么?至少描述一下吧,然后把什么计算机二级、普通话这种拉低格调的证书删掉,不然hr以为你没东西写
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务