HDU-6441-Find Integer-费马大定理+奇偶数列法则

感觉这样看的比较清楚。
题意:
给出n和a,判断能否求出a^n+b^n=c^n中b和c的值,若可以输出b和c,否则则输出-1 -1。
思路:
数据给的比较大,但是题目很简单,套两个公式:费马打定理和奇偶数列法则分类讨论即可。
以下是对这两个法则的介绍:
费马大定理:
当整数n >2时,关于x, y, z的方程 x^n + y^n = z^n 没有正整数解。
#include<stdio.h>
int main()
{
int m,n;
while(~scanf("%d %d",&m,&n))
{
int sum=;
for(int x=; x<=m; x++) //当j==2时 题目给出条件x=<y=<z
{
for(int y=x; y<=m; y++)
{
for(int z=y; z<=m; z++)
{
if(x*x+y*y==z*z)
sum++;
}
}
}
sum=sum+(n-)*(m+);//当2<j<=n时,有n-2种情况。
//即x=0时,y=z,0=<y<=m,有m+1种情况
printf("%d\n",sum);
}
return ;
}
奇偶数列法则:
定理:
是直角三角形的三个整数边长,则必有如下a值的奇数列、偶数列关系成立;
奇数列法则:
若a表为2n+1型奇数(n=1、2、3……), 则a为奇数列平方整数解的关系是:
a=2n+1 
偶数列法则:
若a表为2n型偶数(n=2、3、4……), 则a为偶数列平方整数解的关系是:
a= 2n

推荐一个好用的可以在markdown插入数学公式的网站,今天也是第一次用。
http://latex.codecogs.com/eqneditor/editor.php
#include<stdio.h>
typedef long long ll; int main()
{
int t;
ll n,a;
scanf("%d",&t);
while(t--)
{
scanf("%lld %lld",&n,&a);
if(n>||n==)//n>2可以根据费马大定理可得,n==0等式是无法成立的,但题目给出了需要判断不然WA
printf("-1 -1\n");
else if(n==)//想到勾股定理,根据奇偶数列法则可得
{
//分a是奇数还是偶数讨论
if(a%==)
{
ll x=(a-)/;
ll b=x*x+(x+)*(x+)-;
ll c=x*x+(x+)*(x+);
printf("%lld %lld\n",b,c);
}
else if(a%==)
{
ll x=a/;
ll b=x*x-;
ll c=x*x+;
printf("%lld %lld\n",b,c);
}
}
else if(n==)//因为可以随便输出一个解,所以假设b=1,a+1=c
printf("1 %lld\n",a+);
}
return ;
}
HDU-6441-Find Integer-费马大定理+奇偶数列法则的更多相关文章
- hdu 6441 Find Integer(费马大定理+勾股数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441(本题来源于2018年中国大学生程序设计竞赛网络选拔赛) 题意:输入n和a,求满足等式a^n+b^ ...
- HDU 6441 - Find Integer - [费马大定理][2018CCPC网络选拔赛第4题]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- 费马大定理以及求解a^2+b^2=c^2的奇偶数列法则
<一>费马大定理:a^n+b^n=c^n 当n大于2时无正整数解. <二>求解a^2+b^=c^2可以使用a值奇偶法则:1.当a=2*n时,b=n^2-1,c=n^2+1 ...
- 题解报告:hdu 6441 Find Integer(费马大定理+智慧数)
Problem Description people in USSS love math very much, and there is a famous math problem .give you ...
- 数学--数论--直角三角形--勾股数---奇偶数列法则 a^2+b^2=c^2
先说勾股数: 勾股数,又名毕氏三元数 .勾股数就是可以构成一个直角三角形三边的一组正整数.勾股定理:直角三角形两条直角边a.b的平方和等于斜边c的平方(a²+b²=c²) 勾股数规律: 首先是奇数组口 ...
- HDU - 6441(费马大定理)
链接:HDU - 6441 题意:已知 n,a,求 b,c 使 a^n + b^n = c^n 成立. 题解:费马大定理 1.a^n + b^n = c^n,当 n > 2 时无解: 2. 当 ...
- HDU 5783 Divide the Sequence(数列划分)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...
- hdu 6441 (费马大定理+勾股数 数学)
题意是给定 n 和 a,问是否存在正整数 b,c 满足:a^n + b^n == c^n.输出 b c,若不存在满足条件的 b,c,输出 -1 -1. 当 n > 2 时,由费马大定理,不存在 ...
- HDU 6441 费马大定理+勾股数
#include <bits/stdc++.h> #define pb push_back #define mp make_pair #define fi first #define se ...
随机推荐
- PHP fpassthru() 函数
定义和用法 fpassthru() 函数输出文件指针处的所有剩余数据. 该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区. 语法 fpassthru(file) 参数 描述 f ...
- svn启动服务
bin目录添加到环境变量classpathsvn --version 查看版本svnadmin create D:\\xx 创建本地中央仓库启动svn服务 cmd命令 svnserve -d -r D ...
- systemctl命令配置系统服务
1.systemd的配置文件目录 systemd将daemon执行的脚本视作服务单位(unit),服务依据功能区分时,分为不同的类型(type). 常见的systemd服务类型如下表: 后缀名称 ...
- sed 删除含有某个字符串的行 (在文件txt)
#删除a.txt中含有“aaa”的行 sed -i “/aaa/d” a.txt
- 20140610 PP中可以绘制表格;PPT组合之后再加效果
PPT绘制表格(行人检测的cell和block) 动画:组合之后再加效果
- js 万能判断
console.log(Object.prototype.toString.call(123)) //[object Number] console.log(Object.prototype.toSt ...
- 如何让contenteditable元素只能输入纯文本
本文出自张旭鑫博客,要知详情,请戳右侧地址:http://www.zhangxinxu.com/wordpress/?p=5120 一.温故而知新 很多年以前,稍等,让我搜一下contentedita ...
- Django完成常用四大功能
返回主目录:Django框架 内容目录: 1.pycharm连接数据库及相应操作 2.手撸登录注册编辑删除 2.1 登录.注册 2.2 ORM简单操作 2.3 编辑.删除 3.完整代码 一.pycha ...
- kindEditor富文本编辑器的工具栏设置
如何配置kindeditor的工具栏 kindeditor编辑器的工具栏主要是指编辑器输入框上方的那些可以操作的菜单,默认情况下编辑器是给予了所有的工具栏.针对不同的用户,不同的项目,不同的环境,可能 ...
- Stack&Heap的理解
Heap(堆):在英文中有杂乱的堆意思,意译中文为堆:其特点为先进先出. 堆空间分配:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表. Stack(栈):在英 ...