博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018中国大学生程序设计竞赛 - 网络选拔赛 4 - Find Integer 【费马大定理+构造勾股数】...
阅读量:5306 次
发布时间:2019-06-14

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

Find Integer

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)

Total Submission(s): 6597    Accepted Submission(s): 1852
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 a^n+b^n=c^n.
 

Input

one line contains one integer 
T;(1T1000000)
next T lines contains two integers n,a;(0n1000,000,000,3a40000)
 

Output

print two integers 
b,c if b,c exits;(1b,c1000,000,000);
else print two integers -1 -1 instead.
 
Sample Input
1 2 3
Sample Output
4 5

 

题目大意:

已知 n、 a 求解方程 a^n + b^n = c^n;

解题思路:

根据费马大定理 n > 2 时无解;

n == 0 时 无解;

n == 1 时 a, 1, a+1;

n == 2 时,根据已知 a 构造一组勾股数

当 a 为 大于 4 的偶数 2*k 时:  b = k^2 - 1, c = k^2 + 1;

当 a 为 大于 1 的奇数 2*k +1 时: b = 2*k^2 + 2*k, c = 2*n^2 + 2*n + 1;

 

code:

1 #include 
2 #include
3 #include
4 #include
5 #define mod 1000000007 6 #define INF 0x3f3f3f3f 7 using namespace std; 8 9 const int MAXN = 1e9;10 int N, a;11 int main()12 {13 int T, b, c, k;14 scanf("%d", &T);15 while(T--)16 {17 scanf("%d%d", &N, &a);18 if(N>2 || N==0) printf("-1 -1\n");19 else if(N==1) printf("%d %d\n", 1, a+1);20 if(N==2)21 {22 if(a%2){23 k = (a-1)/2;24 b = 2*k*k+2*k;25 c = 2*k*k+2*k+1;26 printf("%d %d\n", b, c);27 }28 else29 {30 k = a/2;31 b = k*k-1;32 c = k*k+1;33 printf("%d %d\n", b, c);34 }35 }36 }37 return 0;38 }
View Code

 

转载于:https://www.cnblogs.com/ymzjj/p/9536776.html

你可能感兴趣的文章
找到数组中频次大于1/k的数
查看>>
【整理】【待续】笔试题+面试题(Java工程师、软件工程师)
查看>>
【python之路26】字符串之格式化%和format
查看>>
First blogs start
查看>>
[精华][推荐]CAS SSO单点登录环境搭建 及 实例
查看>>
Docker核心技术之镜像(8)
查看>>
java 编译运行过程
查看>>
图片上传加水印
查看>>
“为兴趣选择,用激情奋战”
查看>>
一款基于jQuery的热点新闻Tab选项卡插件
查看>>
Swing界面设计工具的第一步
查看>>
网络自动切换
查看>>
内置函数
查看>>
asp.net 国际化
查看>>
STL笔记
查看>>
asp.net 自定义tab控件实现
查看>>
Leet 145: Binary Tree Postorder Traversal
查看>>
Leetcode 156: Binary Tree Upside Down
查看>>
大数除法
查看>>
html语义化
查看>>