Hdu 4143
2024-09-06 11:54:28
好久没有在Hdu水题了,于是乎在无聊之际还是找了一道水题,
但是看完题目之后,明显是个数学题,我还是感觉有点打触的。
因为一直对数学题没有多大信心。
分析了一下,Y^2 = X^2 + n 可以转化为 Y^2 = (X + a)^2
所以:n = a^2 + 2 * a * X , 而且 X > 0
所以 0 < a <= sqrt(n + 1) - 1
由于要求的是最小的 X, 所以只要逆序枚举 a 就可以了,
这里复杂度为 O(sqrt(n)), 所以可解。
附上代码:
#include <cmath>
#include <cstdio> typedef long long LL;
#define min(x, y) ((x) < (y) ? (x) : (y)) int main() {
int T, n;
scanf("%d", &T);
while (T--) {
scanf("%d", &n); int ans = -; int k = int(sqrt(n + 1.0)) - ;
for (int i = k; i > ; i--) {
long long tmp = n - (long long)i * i;
if (tmp % ( * i))
continue;
else {
if (ans == -)
ans = tmp / ( * i);
else
ans = min(ans, tmp / ( * i));
break;
}
}
printf("%d\n", ans);
} return ;
}
最新文章
- 微信小程序开发教程
- Java - I/O
- C#反射基础知识和实战应用
- overflow遭遇场景
- JAVA基础学习day26--正则表达式
- linux下用core和gdb查询出现";段错误";的地方【转】
- HeadFirst设计模式之工厂模式
- Android_设备隐私获取,忽略6.0权限管理
- android调用系统图片浏览器裁切后出现黑边
- linux awk命令详解【转载】
- 在Centos 5.6下安装 redis
- CI(codeigniter)框架,routes.php设置正确,但是显示服务器错误,是__construct少写了一个下划线
- iPhone与iWatch连接、控制、数据传递(Swift)
- Request.ServerVariables参数说明
- Android--通知之Toast
- Flume配置Multiplexing Channel Selector
- Nios II Host-Based File System
- multidownloadXkcd 多线程抓图
- 团队作业6——展示博客(alpha阶段)
- tomcat启动报错“Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: iZ25fsk1ifk: iZ25fsk1ifk”