感觉这样看的比较清楚。

题意:

给出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 没有正整数解。

相关题目:UVALive - 6862  Triples

 #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-费马大定理+奇偶数列法则的更多相关文章

  1. hdu 6441 Find Integer(费马大定理+勾股数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441(本题来源于2018年中国大学生程序设计竞赛网络选拔赛) 题意:输入n和a,求满足等式a^n+b^ ...

  2. HDU 6441 - Find Integer - [费马大定理][2018CCPC网络选拔赛第4题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

  3. 费马大定理以及求解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   ...

  4. 题解报告:hdu 6441 Find Integer(费马大定理+智慧数)

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

  5. 数学--数论--直角三角形--勾股数---奇偶数列法则 a^2+b^2=c^2

    先说勾股数: 勾股数,又名毕氏三元数 .勾股数就是可以构成一个直角三角形三边的一组正整数.勾股定理:直角三角形两条直角边a.b的平方和等于斜边c的平方(a²+b²=c²) 勾股数规律: 首先是奇数组口 ...

  6. HDU - 6441(费马大定理)

    链接:HDU - 6441 题意:已知 n,a,求 b,c 使 a^n + b^n = c^n 成立. 题解:费马大定理 1.a^n + b^n = c^n,当 n > 2 时无解: 2. 当 ...

  7. HDU 5783 Divide the Sequence(数列划分)

    p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-s ...

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

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

  9. HDU 6441 费马大定理+勾股数

    #include <bits/stdc++.h> #define pb push_back #define mp make_pair #define fi first #define se ...

随机推荐

  1. Delphi实现程序只运行一次并激活已打开的程序

    我们的程序有时候只允许运行一次,并且最好的情况是,如果程序第二次运行,就激活原来的程序.网上有很多的方法实现程序只运行一次,但对于激活原来的窗口却都不怎么好.关键就在于激活原来的程序,一般的做法是在工 ...

  2. C语言新手写扫雷攻略4

    今天写的是游戏过程的函数,基本的算法前面都解释过了,今天是实现基本的功能 补充一下前面需要用到的头文件 #include<conio.h> //_kbhit() #include<s ...

  3. ArcMAP中Excel数据转换为shp数据

    参考百度知道:http://jingyan.baidu.com/article/f7ff0bfc1cf22c2e26bb138d.html 将数据库中带有X.Y坐标的二维表转换为空间点数据:从数据中将 ...

  4. Python中练习题关于内置函数的getattr,setattr问题

    执行一下代码的结果是? class A: def __init__(self,a,b,c): self.x = a+b+c a = A(1,2,3) b = getattr(a,'x') setatt ...

  5. SAS市场研究应用介绍:组合/联合分析

    SAS市场研究应用介绍:组合/联合分析 一 SAS市场研究模块介绍 市场研究是指研究组织(企业)与客户.公众三者关系的规律的过程,是市场营销领域中的一个重要元素.它把消费者.客户.公众和营销者通过信息 ...

  6. CH1201 最大子序和 (单调队列)

    题目链接: AcWing 牛客 题目描述 输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得整个序列的和最大. 例如 1,-3,5,1,-2,3 当m=4时,S=5+1-2+3=7 当 ...

  7. nuxt 利用lru-cache 做服务器数据请求缓存

    // 运行与服务端的js // node.js lru-cache import LRU from 'lru-cache' const lruCache = LRU({ // 缓存队列长度 max: ...

  8. mongo数组修改器—$push、$ne、$addtoset、$pop、$pull

    这几个方法也很有意思 $push 像已有的数组末尾加入一个元素,要是元素不存在,就会创建一个新的元素,如果元素存在了,就会再添加一个一模一样的元素,会造成元素的重复,所以在使用的时候,要确保该元素不存 ...

  9. Spring 在Web中的应用

    Spring 在Web中的应用 在web项目开发中,不会直接实例化ApplicationContext对象,如果想用到ApplicationContext,一般的步骤: 配置一个监听器ContextL ...

  10. Linux grep return code

    The exit code is 1 because nothing was matched by grep. EXIT STATUS The exit status is 0 if selected ...