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 ...
随机推荐
- J2EE学习篇之--JQuery技术详解
前面我们讲解了的J2EE的技术都是服务端的技术,下面我们来看一下前端的一些开发技术,这一篇我们来看一下jQuery技术 简介: jQuery由美国人John Resig创建,至今已吸引了来自世界各地的 ...
- 原生js 与 jQuery对比
1.原生JS与jQuery操作DOM对比 : https://www.cnblogs.com/QianBoy/p/7868379.html 2.比较jQuery与JavaScript的不同功能实 ...
- (转)秒懂,Java 注解 (Annotation)你可以这样学 ---- 重要 注解定义与反射解析
转:http://blog.csdn.net/briblue/article/details/73824058 文章开头先引入一处图片. 这处图片引自老罗的博客.为了避免不必要的麻烦,首先声明我个人 ...
- postgresql数字类型
postgresql的数据类型很多,也可以使用create type命令创建自定义数据类型,但常用的数据类型是以下三种: l 数字数据类型 l 字符串数据类型 l 日期/时间数据类型 数字数据类 ...
- (14)centos7 进程管理
一.查询进程 1. 进程显示 ps -a 显示当前所有的进程信息 -u 以用户的格式显示进程信息 -x 显示后台进程运行的参数 ps -aux #通常查看内存 USER #执行进程的用户 PID #进 ...
- python excel单元格及样式
python excel单元格及样式: #!/usr/bin/env python # -*- coding: utf-8 -*-” #只对当前文件的中文编码有效 # Filename : Write ...
- 2019河北省大学生程序设计竞赛(重现赛)J-舔狗 (拓扑排序)
题目链接:https://ac.nowcoder.com/acm/contest/903/J 题意:给你 n 个舔狗和他喜欢的人,让你俩俩配对(只能和喜欢它的和它喜欢的),求剩下的单身狗数量. 思路: ...
- 剑指offer——70n个骰子的点数
题目: 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s.输入n,打印出s的所有可能的值出现的概率. 题解: 使用两个数组存每次投的点数 void theProbability(const int ...
- ga统计
<script> (function (i, s, o, g, r, a, m) { i['GoogleAnalyticsObject'] = r; i[r] = i[r] || func ...
- pta作业1
7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * *** ***** 所谓“沙漏形状”,是指每行输出奇数 ...