首页 > 其他 > 详细

HDU6441(费马大定理)

时间:2019-04-04 00:14:59      阅读:166      评论:0      收藏:0      [点我收藏+]

听队友说过结论:a^n + b^n = c^n在n > 2时无解。

勾股那里本菜数学不好直接暴举了Orz。

 

 1 #include <cstdio>
 2 #include <cmath>
 3 
 4 int T, n, a, l, r;
 5 
 6 void solve(int a) {
 7     for (int i = 1; i < a; i++) {
 8         if (a * a % i == 0) {
 9             int t = a * a / i;
10             if ((t - i) % 2 == 0) {
11                 l = (t - i) / 2;
12                 r = (t + i) / 2;
13                 return;
14             }
15         }
16     }
17 }
18 
19 int main() {
20     for (scanf("%d", &T); T; T--) {
21         scanf("%d %d", &n, &a);
22 
23         if (n > 2 || n == 0)  printf("-1 -1\n");
24         else if (n == 1) printf("%d %d\n", 1, a + 1);
25         else {
26             l = -1, r = -1;
27             solve(a);
28             printf("%d %d\n", l, r);
29         }
30     }
31     return 0;
32 }

 

HDU6441(费马大定理)

原文:https://www.cnblogs.com/AlphaWA/p/10652537.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!