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

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

hot3.png

/*

 摘:
     解题思路:如果要按正常方法从小到大遍历,由于数据量大一定会超时。
 其实上述式子转化后可以分解因子:n = ( y - x )*( y + x ) ;
 令 y - x = i,所以有 x + y = n / i ,即 ( n / i - i ) / 2 = x.
     注意:x 要大于 0 ,当 n 是完全平方数时要注意。
 

                                                   2012-04-21

 */
#include<stdio.h>
#include<math.h>

int main()

{
 int T,n,i,x;
 scanf("%d",&T);
 while(T--){
  scanf("%d",&n);
  i = (int)sqrt(n);
  for(; i>0; i--){
   if(n%i==0 && (n/i-i)%2==0 && (n/i-i)/2>0){
    // (n/i-i)/2>0 保证x > 0
    x = (n/i-i)/2;
    break;
   }
  }
  if(i>0)printf("%d\n",x);
  else printf("-1\n");
 }
 return 0;
}

转载于:https://my.oschina.net/u/862181/blog/86870

你可能感兴趣的文章
mysql操作查询结果case when then用法举例
查看>>
嵌入式开发之davinci--- 8148/8168/8127 中的xdc 简介
查看>>
Auto Updating the exe from a network location when application starts z
查看>>
Matlab Codes and Datasets for Feature Learning
查看>>
JAVA分布式事务原理及应用(转)
查看>>
【Codeforces 723C】Polycarp at the Radio 贪心
查看>>
centos直接yum安装nginx
查看>>
iOS:根据日志去定位网络请求发生的错误是由于服务端造成的,还是客户端造成的?...
查看>>
关于后台数据库正常存储中文通过Ajax方式传递到前台变成问号的处理
查看>>
iOS webservice SOAP 请求
查看>>
Java Web 开发填坑记- 如何正确的下载 Eclipse
查看>>
Git中.gitignore文件不起作用的解决以及Git中的忽略规则介绍
查看>>
arcgis api for js入门开发系列十五台风轨迹
查看>>
050 Kafka的引入介绍
查看>>
Java学习之路:不走弯路,就是捷径
查看>>
小儿外感后频繁眨眼案
查看>>
Linux命令xargs+cut
查看>>
Zookepper 原理和配置
查看>>
Linux下的多进程编程(转) - fork(),exec()等函数的使用[zz]
查看>>
设置、调用-C/C++中调用api设置mysql连接的编码方式-by小雨
查看>>