51Nod-1859-Clarke and number
来源:互联网 发布:电子杂志制作软件 免费 编辑:程序博客网 时间:2024/04/27 21:56
ACM模版
描述
题解
这个题,简单的来,就是暴力打表找规律,注意一点,
官方题解也给大家分享一下,写得挺详细的:
代码
#include <cstdio>using namespace std;typedef long long ll;const ll INF = 1e10; // ll 开方后约为 1e9ll x, k;ll sqrt(ll x){ ll l = -1, r = INF, m; while (r - l > 1) { m = (l + r) >> 1; if (m * m > x) { r = m; } else if (m * m < x) { l = m; } else { return m; } } return l;}int main(){ int T; scanf("%d", &T); while (T--) { scanf("%lld%lld", &x, &k); if (x == 0) { printf("0\n"); continue; } ll y = sqrt(x); if (k == 1) { if (x == 1) { printf("1\n"); continue; } if (y * y == x) { printf("%lld\n", y * 2 - 1); } else { printf("%lld\n", y * 2); } } else { if (x == 1 || x == 3) { printf("-1\n"); } else if (x == 2) { printf("1\n"); } else if (x == 5) { printf("3\n"); } else { ll t = sqrt(x - 1); if (y * y == x || t * t == x - 1) { printf("%lld\n", y * 2 - 2); } else { printf("%lld\n", y * 2 - 1); } } } } return 0;}
阅读全文
0 0
- 51Nod-1859-Clarke and number
- 51nod 1859 Clarke and number ACM
- 51nod 1859 Clarke and number 打表
- [乱搞]51 Nod 1859—Clarke and number
- 51nod Clarke and number 规律
- 51nod 1769 Clarke and math2
- 51Nod-1849-Clarke and package
- 51nod 1769 Clarke and math2(线性筛+dp)
- 51nod 1769 Clarke and math2 线性筛+数学
- Clarke and number 【sqrt精度+打表找规律】
- Clarke and minecraft
- hdu5464(Clarke and problem)
- HDU_5463 Clarke and minecraft
- HDU_5464 Clarke and problem
- hdu5564 Clarke and digits
- Clarke and chemistry
- HDU5626 Clarke and points
- hdu5625 Clarke and chemistry
- CodeForces 825F String Compression---这个KMP很DP
- 互斥共享
- 招聘
- 请编写一个C函数,该函数可以实现将一个整数转为任意进制的字符串输出
- Jquery绑定页面新元素的方法
- 51Nod-1859-Clarke and number
- FFmpeg运行出现的错误
- 【深度学习】笔记17 windows下SSD网络在caffe中的配置(GPU版本)【笔记3】
- linux下串口(serial)和串口驱动
- MS Word 组件Spire.Doc V6.0.5发布 | 修复了rtf 到pdf 的转换问题
- java基础复习-map与collection set+list集合总结
- python去除扩展名
- Kinect+Unity实现虚拟人物动作同步
- IntelliJ IDEA 注册码