题目传送门

题目大意:

给出a和n,求满足的b和c。

思路:

数论题目,没什么好说的。

根据费马大定理,当n>2时不存在正整数解。

当n=0或者1时特判一下就可以了,也就是此时变成了一个求勾股数的问题。

勾股数的规律

1. 直角三角形短直角边为奇数,另一条直角边与斜边是两个连续自然数,则两边之和是短直角边的平方。

a=2*n+1,b=2*n*(n+1),c=2*n*(n+1)+1。例如,(3、4、5),(5、12、13),(7、24、25)、(9、40、41)

2. 大于2的任意偶数2n(n>1) ,都可构成一组勾股数,

三边分别是:a=2*n、b=n^2-1、c=n^2+1。(6、8、10),(8、15、17),(10、24、26)。

3. a=m^2-n^ 2, b=2*m*n,c=m^2+n^2 (其中正整数m >n >0)。

4. 如果要得到一组互质的勾股数,则可以用以下规律计算:a=4n,b=4n^2-1,c=4n^2+1(n为正整数)

?
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<string.h>
#include<sstream>
#include<set>
#include<map>
#include<vector>
#include<queue>
#include<stack>
#include<bitset>
#define CLR(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
inline int rd(void) {int x=0;int f=1;char s=getchar();while(s<'0'||s>'9') {if(s=='-')f=-1;s=getchar();}while(s>='0'&&s<='9') {x=x*10+s-'0';s=getchar();}x*=f;return x;
}int main() {int T;ll n,a;cin>>T;while(T--) {scanf("%lld%lld",&n,&a);if(n>2||n==0) {printf("-1 -1\n");} else if(n==1) {printf("%lld %lld\n",1,a+1);} else {if(a<=2) {printf("-1 -1\n");} else if(a%2==1) {ll nn=(a-1)/2;printf("%lld %lld\n",2*nn*(nn+1),2*nn*(nn+1)+1);} else {ll nn=a/2;printf("%lld %lld\n",nn*nn-1,nn*nn+1);}}}
}?

Find Integer

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 681    Accepted Submission(s): 78
Special Judge

Problem Description

people in USSS love math very much, and there is a famous math problem .

give you two integers n,a,you are required to find 2 integers b,c such that an+bn=cn.

Input

one line contains one integer T;(1≤T≤1000000)

next T lines contains two integers n,a;(0≤n≤1000,000,000,3≤a≤40000)

Output

print two integers b,c if b,c exits;(1≤b,c≤1000,000,000);

else print two integers -1 -1 instead.

Sample Input

 

1 2 3

Sample Output

 

4 5

Source

2018中国大学生程序设计竞赛 - 网络选拔赛

hdu6441 Find Integer 求勾股数 费马大定理相关推荐

  1. 互为质数的勾股数c语言,C语言求勾股数(详解版)

    搜索热词 问题描述 求100以内的所有勾股数. 所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c). 问题分析 根据"勾股数"定义,所求三角形三边应满足条件 a2 ...

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

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

  3. C语言编程勾股数,C语言求勾股数

    问题描述 求100以内的所有勾股数. 所谓勾股数,是指能够构成直角三角形三条边的三个正整数(a,b,c). 问题分析 根据"勾股数"定义,所求三角形三边应满足条件 a2 + b2 ...

  4. 求勾股数元祖(java)

    一道华为笔试题,这道题思路挺简单的,符合简单题的属性.但是我却AC不了,包括现在我也没看出来漏了什么.最后通过50%的用例,剩下的百度也没找到原因. 先记录一下吧. 数字<10000,所以用in ...

  5. HDU-6441-Find Integer(费马大定理+勾股数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441 Problem Description people in USSS love math ver ...

  6. 由于3²+4²=5²,所以称‘3,4,5‘为勾股数,求n(包括n)以内所有勾股数数组。

    由于3²+4²=5²,所以称'3,4,5'为勾股数,求n(包括n)以内所有勾股数数组. 比如:10以内的勾股数组:['3,4,5','6,7,8'] 目录 一.题目分析 二.程序代码 三.运行结果 一 ...

  7. hdu 6441 (费马大定理+勾股数 数学)

    题意是给定 n 和 a,问是否存在正整数 b,c 满足:a^n + b^n == c^n.输出 b  c,若不存在满足条件的 b,c,输出 -1 -1. 当 n > 2 时,由费马大定理,不存在 ...

  8. 用Python求1~1万范围内的勾股数元组

    上篇文章求1~100范围内容勾股数元组,运行正常:但是后来把范围调整到1000,程序就运行得超级慢,笔记本差点死机.试着改良一下程序,花了一晚上时间,重写了一版. 这次程序运行快了很多,求1千以内勾股 ...

  9. 三元二次方程式x2+y 2=z2的正整数解x、y、z称为一组勾股数,又称为毕达哥拉斯三元数组。该方程式也称为“商高方程”或“毕达哥拉斯方程”。 试通过程序设计求指定区间[a,b]内的所有勾股数组。

    /*试通过程序设计求指定区间[a,b]内的所有勾股数组. 输入 输入两个正整数a, b (a<b). 输出 输出[a,b]区间内的所有勾股数组. 样例输入 30, 90 样例输出*/ #defi ...

最新文章

  1. WEB前端笔试题(4)
  2. STL 之vector详解
  3. Java 8 - 04 类型检查、类型推断以及限制
  4. scrumndash;yesterday once more
  5. 深入了解Android蓝牙Bluetooth——《基础篇》
  6. 计算器怎么编程java_java编程中怎样实现一个计算器
  7. P. Laguna/Evaluation of an Automatic Threshold Based Detector of Waveform Limits in Holter ECG
  8. 快捷切换hosts的小工具:SwitchHosts!
  9. javascript的apply理解
  10. matlab随机函数
  11. 使用ISO镜像制作适用于OpenStack的云镜像
  12. Python3_函数相关基础知识
  13. mybatis集成springboot的多数据源最新实现
  14. 智慧停车系统是怎么运行的?
  15. 微信浏览器视频播放探索
  16. 求一个方阵的主对角线及次对角线的和(C语言)(二维数组)
  17. 机器学习常用数据处理
  18. USB 之枚举过程概述
  19. xray扫描器的使用 (长亭科技公司创造)
  20. 求二阶系统输入单位斜坡响应matlab,二阶系统的斜坡响应教程.docx

热门文章

  1. springboot仓储系统出入库模块设计系统java ssm
  2. Appops权限管理
  3. 快手小说怎么引流?门槛太低,是个人就能做
  4. 【知识图谱】知识图谱数据库提供一站式全域行业数据融合
  5. 在一起计时器_没想到吧?快手竟然给厕所上安装了计时器,或许职场从此再无带薪拉屎...
  6. 《中国化工贸易》征稿函
  7. 明基 X3000i 怎么样
  8. Python读取显示raw图片+numpy基本用法记录
  9. 三件套都有什么_床上用品三件套,四件套,五件套,七件套分别包括的是哪些...
  10. 免费excal转dbc工具介绍