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

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

题目大意:

给出a, n

求出b, c使得ana^nan +++ bnb^nbn === cnc^ncn

解题思路:

特判如下

由费马大定理得:
nnn >>> 222时无解
nnn === 000时当然也是无解的了
nnn === 111时, 可推出:bbb === 111ccc === aaa +++ 111
那就只剩下n = 2的情况了
套进去就是a2a^2a2 +++ b2b^2b2 === c2c^2c2
就是求勾股数

然后就有:

令x = a / 2.0
当a为奇数时:
b = a ∗ x − 0.5b\ =\ a\ *\ x\ -\ 0.5b = a  x  0.5
c = a ∗ x + 0.5c\ =\ a\ *\ x\ +\ 0.5c = a  x + 0.5
当a为偶数时:
b = x ∗ x − 1b\ =\ x\ *\ x\ -\ 1b = x  x  1
c = x ∗ x + 1c\ =\ x\ *\ x\ +\ 1c = x  x + 1

Accepted code:

#include
int T, a, n;int main() {
scanf("%d", &T); while (T--) {
scanf("%d %d", &n, &a); if (n == 0 || n > 2) {
printf("-1 -1\n"); continue; } if (n == 1) {
printf("1 %d\n", a+1); continue; } double x = a / 2.0; if (a % 2) {
//判断a的奇偶性 printf("%.0lf %.0lf\n", a * x - 0.5, a * x + 0.5); } else {
printf("%.0lf %.0lf\n", x * x - 1, x * x + 1); } } return 0;}

转载于:https://www.cnblogs.com/Juruo-HJQ/p/10285792.html

你可能感兴趣的文章
Linux系统调用---同步IO: sync、fsync与fdatasync【转】
查看>>
【MyBatis学习06】输入映射和输出映射
查看>>
[LeetCode] Decode String 解码字符串
查看>>
数字逻辑的一些基本运算和概念
查看>>
ant重新编译打包hadoop-core-1.2.1.jar时遇到的错
查看>>
【★★★★★】提高PHP代码质量的36个技巧
查看>>
3 weekend110的配置hadoop(格式化) + 一些问题解决 + 未免密码配置
查看>>
JavaScript Creating 对象
查看>>
Java compiler level does not match the version of the installed Java project facet.(转)
查看>>
WPF MediaElement.Position属性
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
spring mysql多数据源配置
查看>>
[React] Override webpack config for create-react-app without ejection
查看>>
检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。...
查看>>
测试java的父子类化
查看>>
HDOJ 1008
查看>>
安装thrift出现的一些问题
查看>>
makefile编写---单个子目录编译模板
查看>>
Oracle DB_LINK如何使用
查看>>
cv resource
查看>>