HDU-4145 A Simple Problem 简单数论
这题给定一个N,求最小的x^2满足y^2 = x^2 + N;
将x^2移到左边,得到(y+x)*(y-x) = N,于是我们分解N成两个约数相乘的形式,于是我们从sqrt(N)到1开始枚举约数,得到可以相除的约数对(a, b)后,直接计算abs((a-b) / 2)就是x的值了,当然x不能为零,并且a,b的奇偶性要一致。
代码如下:
#include<iostream> #include<cstdio> #include<cstdlib> #include<algorithm> #include<cmath> #include<queue> #include<set> #include<map> #include<cstring> #include<vector> #include<string> #define LL long long using namespace std;int N;int main() {int T, ret;scanf("%d", &T);while (T--) {scanf("%d", &N);ret = -1;int LIM = (int)sqrt(double(N));for (int i = LIM; i >= 1; --i) {if (N % i == 0) {if ((i & 1) ^ ((N/i) & 1)) {continue;}else if (i - N/i){ret = abs((i - N/i) / 2);break;}}}printf("%d\n", ret);}return 0; }
HDU-4145 A Simple Problem 简单数论相关推荐
- hdu 4143 A Simple Problem 数论
y^2 = n +x^2 这道题目我做了一个小时多小时,你说累不累. 首先两个 平方数之间的差距 1^2 2^2 3^2 4^2 5 ^2 之间的 差距是 3 5 7 9 所以 只要是 奇 ...
- HDU 4267 A Simple Problem with Integers
方法参考http://blog.csdn.net/acm_cxlove/article/details/7854526 题目:给出n个数,每次将一段区间内满足(i-l)%k==0 (r>=i&g ...
- HDOJ(HDU) 2123 An easy problem(简单题...)
Problem Description In this problem you need to make a multiply table of N * N ,just like the sample ...
- HDU 4267 A Simple Problem with Integers [树状数组]
根据%k=a中a和k的不同组合建立55棵树状数组,每次修改操作只对其中1棵树状数组进行操作,每次查询对其中10棵树状数组统计增量和. 1 #include <string.h> 2 #in ...
- HDU 2552 A simple problem
题意: Zty很痴迷数学问题..一天,yifenfei出了个数学题想难倒他,让他回答1 / n.但Zty却回答不了^_^. 请大家编程帮助他. 输出1/n. (是循环小数的,只输出第一个循环节). 分 ...
- HDU 3651 A Simple Problem
HDU_3651 首先可以把1~0映射成0~9,这样更好处理一些.接着我们可以用f[d][x][y]表示已经输入了d个数.左手指在x.右手指在y这种情况所需要的最少秒数,一开始d[0][4][5]=0 ...
- 【线段树】【模板】讲解 + 例题1 HDU - 1754 I Hate It (点修改分数)+ 例题二 POJ - 3468 A Simple Problem with Integers(区间加值)
[线段树][模板]讲解 + 例题1 HDU - 1754 I Hate It (点修改分数)+ 例题二 POJ - 3468 A Simple Problem with Integers(区间加值) ...
- HDOJ 5373 The shortest problem 【数论】
HDOJ 5373 The shortest problem [数论] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5373 题目给一个初始数据和重复 ...
- hdu 1003 A + B Problem II 使用整型数组轻松实现大数求和
为题如下: Problem Description I have a very simple problem for you. Given two integers A and B, your job ...
最新文章
- 基于相交线的立体平面SLAM
- mysql所有表查询
- 为恶意文件“画像” 瀚思科技基于深度学习技术快速锁定未知威胁
- 形容计算机老师风采的句子,关于老师的句子
- 对ContentProvider中getType方法的一点理解
- Linux内存管理和分析vmalloc使用的地址范围
- 前后端分离使用 Token 登录解决方案
- 使用ObjectDataSource 显示数据
- GDI+简单现实文字旋转
- python基础教程3下载-Python基础教程第3版中国PDF电子书免费下载
- java debug try catch 打印发生错误的代码的详细信息 代码行数
- 一文带你浏览Graph Transformers
- 解决Ubuntu18.04和Win10双系统系统时间不对的问题
- myeclipse误删文件恢复
- PHP 万能查询代码
- 恒生电子实习记录-7
- 用户记忆设计:如何设计印象深刻的用户体验 | Viget
- robosense 16线激光雷达标定
- 张蕾:物联网与三魂七魄
- jdbc读取mysql数据库_Ecplise 中利用 JDBC 连接 Mysql 数据库读取数据
热门文章
- openstack上创建vm实例后,状态为ERROR问题解决
- 无法从Windows上的资产index.android.bundle加载脚本
- 这个Javascript“要求”是什么?
- 在一行中捕获多个异常(块除外)
- 在PostgreSQL中创建数据库的副本
- SlideSwitch仿iphone滑动开关组件,仿百度魔图滑动开关组件Android
- Android配置http请求
- 代码查看工具_不好用打我 | 六个前端开发在线工具推荐
- 如何用c++画图_画图教室 | 绘制Mapping第一步:美团搜索火锅串串香...认真的!...
- 电脑有没有蓝牙_手机蓝牙没什么用?那是因为你不会用!这9种用法,你用过几种?...