题意是给定 n 和 a,问是否存在正整数 b,c 满足:a^n + b^n == c^n.输出 b  c,若不存在满足条件的 b,c,输出 -1 -1。

当 n > 2 时,由费马大定理,不存在正整数 a,b,c 满足 a^n + b^n == c^n ,也就是说当 n 大于 2 时,只能输出 -1 -1 。接下来问题就可以变成 n 分别取 0,1,2 的情况了。

当 n == 1 时,由于只要输出任意一组合理解即可,则 b 为 1 ,c 为 a + 1 即可。

当 n == 0 时,条件变成了 1 + 1 == 1,无法满足,输出 -1 -1.

当 n == 2 时,条件变成了 a^2 + b^2 == c^2 也就是在已知 一个勾股数的情况下,求其他两个勾股数。

勾股数:2 * k + 1,2 * k * ( k + 1 ),2 * k * ( k + 1 ) + 1( k 为正整数 )

当 a 为奇数时,则 a = 2 * k + 1 ,解得 k 的值,则 b = 2 * k * ( k + 1 ),c = 2 * k * ( k + 1 ) + 1;

当 a 为偶数时,则 a 可能等于 p * ( 2 * k + 1 ),也可能等于 2 * k * ( k + 1 ) ,

检查 a 是否可以被 4 整除,若能,则属于后一种情况,p = a / 4,那么 b = p * 3,c = p * 5;(此处算 k 太麻烦,直接用 3,4,5 这组勾股数及其倍数)

若 a 不能被 4 整除,令 a 不断除以 2 ,若在 a 变成 1 之前,a 可以为奇数,那么就属于前一种情况,即 a = p * ( 2 * k + 1 ) ,p = a / a'( a' 即为 a 多次除以 2 变成的非 1 奇数,所以在除以 2 之前要把 a 的值赋给一个变量),求出 k 的值,

则 b =( 2 * k * ( k + 1 ) ) *  p ,c = ( 2 * k * ( k + 1 ) + 1) * p;

若上述情况都得不到 b,c,则输出 -1 -1 即可。

代码如下:

 #include<bits/stdc++.h>
using namespace std;
__int64 p,a,n,wu;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%I64d%I64d",&n,&a);
if(n>||n==) puts("-1 -1");
else if(n==) printf("1 %I64d\n",+a);
else
{
wu = a;
if(a%==)
{
p = a/;
printf("%I64d %I64d\n",p*,p*);
wu = ;
}
else
{
while(!(wu&)) wu>>=;// 当a是偶数时不断除以2
if(wu==) puts("-1 -1");
else
{
p = a / wu;
wu = (wu-)>>;
printf("%I64d %I64d\n",(wu*wu*+wu*)*p,(wu*wu*+wu*+)*p);
}
}
}
}
return ;
}

这题在 vjudge 上用 int 能过,但在 hdu 上会 wa,要换成 long long 才能过......

hdu 6441 (费马大定理+勾股数 数学)的更多相关文章

  1. HDU 6441 费马大定理+勾股数

    #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define fi first #define se ...

  2. hdu 6441 Find Integer(费马大定理+勾股数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441(本题来源于2018年中国大学生程序设计竞赛网络选拔赛) 题意:输入n和a,求满足等式a^n+b^ ...

  3. 2015浙工大校赛-Problem C: 三角—— 费马大定理+勾股数

    题目 有一个直角三角形三边为 A,B,C 三个整数.已知 C 为最长边长,求一组B,C,使得B和C最接近. (题目链接) 分析 打表找规律. 或者直接一点的枚举 $C-B$ 的值.(既然枚举 B 不现 ...

  4. HDU - 6441(费马大定理)

    链接:HDU - 6441 题意:已知 n,a,求 b,c 使 a^n + b^n = c^n 成立. 题解:费马大定理 1.a^n + b^n = c^n,当 n > 2 时无解: 2. 当 ...

  5. 2018中国大学生程序设计竞赛 - 网络选拔赛 4 - Find Integer 【费马大定理+构造勾股数】

    Find Integer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  6. hdu6441 Find Integer 求勾股数 费马大定理

    题目传送门 题目大意: 给出a和n,求满足的b和c. 思路: 数论题目,没什么好说的. 根据费马大定理,当n>2时不存在正整数解. 当n=0或者1时特判一下就可以了,也就是此时变成了一个求勾股数 ...

  7. 数学--数论--Find Integer(勾股数定理)

    Problem Description people in USSS love math very much, and there is a famous math problem give you ...

  8. 数学--数论--直角三角形--勾股数---奇偶数列法则 a^2+b^2=c^2

    先说勾股数: 勾股数,又名毕氏三元数 .勾股数就是可以构成一个直角三角形三边的一组正整数.勾股定理:直角三角形两条直角边a.b的平方和等于斜边c的平方(a²+b²=c²) 勾股数规律: 首先是奇数组口 ...

  9. 勾股数专题-SCAU-1079 三角形-18203 神奇的勾股数(原创)

    勾股数专题-SCAU-1079 三角形-18203 神奇的勾股数(原创) 大部分的勾股数的题目很多人都是用for来便利,然后判断是不是平方数什么什么的,这样做的时候要对变量类型和很多细节都是要掌握好的 ...

随机推荐

  1. 概率DP自学

    转自https://blog.csdn.net/zy691357966/article/details/46776199 zy691357966的blog 有关概率和期望问题的研究 摘要 在各类信息学 ...

  2. 通过shell调用rtx接口

    本脚本可获取服务器Site值和服务器ip,执行之后可通过RTX推送系统消息 脚本例子如下: #!/bin/bash function alarm(){ user="$1" cont ...

  3. Hdoj 2454.Degree Sequence of Graph G 题解

    Problem Description Wang Haiyang is a strong and optimistic Chinese youngster. Although born and bro ...

  4. 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案

    点击返回自学华为IoT物流网 自学华为IoT物联网_06 智慧家庭物联网常见问题及解决方案 1. 家庭中遇到的问题 2.1 华为智慧家庭概念的发展历程 2.2 华为智慧家庭的解决方案架构 智慧家庭主要 ...

  5. 【CF809D】Hitchhiking in the Baltic States(Splay,动态规划)

    [CF809D]Hitchhiking in the Baltic States(Splay,动态规划) 题面 CF 洛谷 题解 朴素\(dp\):设\(f[i][j]\)表示当前考虑到第\(i\)个 ...

  6. [luogu1452]Beauty Contest【凸包+旋转卡壳】

    题目大意 求出平面最远点对距离的平方. 分析 此题我wa了好久,第一是凸包写错了,后面又是旋转卡壳写错了..自闭3s. 题解应该是旋转卡壳,但是有人用随机化乱搞过掉了Orz. 讲讲正解. 我们先求出所 ...

  7. Docker部署SonarQube

    依赖 CentOS 7.2+ docker 1.13+ docker-compose 1.20+ 将下面文件内容另存为docker-compose.yml文件,执行docker-compose up ...

  8. 论一个蒟蒻的脑子里可以有多少坑(貌似咕了……目前更新保持在noip阶段)

    就是错题整理了,其实也会把一些不该犯的失误整进来. 其实之前一直拖着不想写,直到某次模拟赛,看错了2道题,顺便爆了一道题的int(没错第一个点就会爆)之后爆零了,吓得我赶紧把这篇博客搞出来了..... ...

  9. RSA签名验证

    /// <summary> /// 验证签名 /// </summary> /// <param name="content">待签名字符串&l ...

  10. (转)CDN的作用与基本过程

    背景:积累大型网站开发中需要掌握的技术. CDN的作用与基本过程 https://blog.csdn.net/lihao21/article/details/52808747#comments CDN ...