博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU - 6441(费马大定理)
阅读量:6693 次
发布时间:2019-06-25

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

链接:

题意:已知 n,a,求 b,c 使 a^n + b^n = c^n 成立

题解:费马大定理

1.a^n + b^n = c^n,当 n > 2 时无解;

2.

当 a 为奇数

a = 2 * k + 1;

c = k ^ 2 + (k + 1) ^ 2;

b = c - 1;

当 a 为偶数

a = 2 * k + 2;

c = 1 + (k + 1) ^ 2;

b = c - 2;

#include 
using namespace std;const double EPS = 1e-6;const int INF = 0x3f3f3f3f;const int mod = 1e9 + 7;const int maxn = 1e5 + 10;long long n, a, b, c;int main(){ int T; scanf("%d", &T); while(T--){ scanf("%lld%lld", &n, &a); if(n == 0 || n > 2){ puts("-1 -1"); continue; } if(n == 1){ printf("%lld %lld\n", a, a<<1); continue; } if(a & 1LL){ long long k = a / 2; c = k * k + (k + 1) * (k + 1); b = c - 1; } else{ long long k = a / 2 - 1; c = 1 + (k + 1) * (k + 1); b = c - 2; } printf("%lld %lld\n", b, c); } return 0;}

 

转载于:https://www.cnblogs.com/chenquanwei/p/9535757.html

你可能感兴趣的文章
Telnet服务及协议
查看>>
SpringMVC深度探险
查看>>
关于vs2010巨慢(cpu占用高)的几种解决方式
查看>>
简单3步,轻松集成Testlink和MantisBT
查看>>
SQL语句教程(04) AND OR
查看>>
Oracle中的JOIN
查看>>
html中iframe控制父页面刷新
查看>>
每天一个linux命令(50):crontab命令
查看>>
linux命令7--cat命令&nl命令
查看>>
.NET底层开发技术
查看>>
RHEL regiester
查看>>
c/c++中的一些基础知识
查看>>
练习:输出整数每一位,计算算数,9出现次数,输出图案,水仙花数
查看>>
操作系统的发展
查看>>
HEVC码流简单分析
查看>>
搭建蚂蚁笔记(服务器)
查看>>
lnmp
查看>>
Oracle教程之Oralce OMF功能详解(三)--使用Oralce OMF管理控制文件
查看>>
C# extern 修饰符的用法
查看>>
Zabbix修正错误两例(只提供解决思路)
查看>>