博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4206 Treasure Map
阅读量:5037 次
发布时间:2019-06-12

本文共 953 字,大约阅读时间需要 3 分钟。

题目:

大意:给你一个数n,问b^2-a^2 == n,求出满足条件的a 和b,若有多个输出最小的那个,若没,输出IMPOSSIBLE

 

b^2-a^2 = (b-a)*(b+a) = p * q = n

因为1<=n<=10^9,现在我们只要枚举p从1到根号10^9,

a = (q-p)/2;

b = (q+p)/2;其中(q-p)和(q+p)都为偶数,n%p == 0(用于剪枝)

然后枚举的时候取最小的a

#include 
#include
using namespace std; const int INF = 1<<30; int main() {
int t; int n; int i, j; int p, q; int a, b; scanf("%d", &t); while (t--) {
scanf("%d", &n); a = INF; for (p = 1; p <= (int)sqrt(double(n)); p++) {
if (n % p == 0 && (n/p - p) % 2 == 0) {
q = n/p; if (a > (q-p)/2) {
a = (q-p)/2; b = (q+p)/2; } } } if (a == INF) {
puts("IMPOSSIBLE"); } else {
printf("%d %d\n", a, b); } } return 0; }

 

 

转载于:https://www.cnblogs.com/qiufeihai/archive/2012/04/04/2431899.html

你可能感兴趣的文章
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>
KMPnext数组循环节理解 HDU1358
查看>>
android调试debug快捷键
查看>>
【读书笔记】《HTTP权威指南》:Web Hosting
查看>>
Inoodb 存储引擎
查看>>
数据结构之查找算法总结笔记
查看>>
Linux内核OOM机制的详细分析
查看>>
Android TextView加上阴影效果
查看>>
Requests库的基本使用
查看>>