勾股数专题-SCAU-1079 三角形-18203 神奇的勾股数(原创)
勾股数专题-SCAU-1079 三角形-18203 神奇的勾股数(原创)
大部分的勾股数的题目很多人都是用for来便利,然后判断是不是平方数什么什么的,这样做的时候要对变量类型和很多细节都是要掌握好的,但是有没有一种方法就是输入一个数然后用数学的方法就可以吧答案(也就是另外两个勾股数求出来的方法了)
我基于勾股定理和一个重要的定理(就是加入最小边是奇数的话,长边和中边的差是1,如果最小边是偶数的话,那么长边和中边的差就是2的,然后利用这个性质和勾股定理,通过方程联立)

例题18203 神奇的勾股数
该题有题解
时间限制:1000MS 内存限制:65535K
提交次数:0 通过次数:0
题型: 编程题 语言: 不限定
Description
给你一个正整数n,问有没有一个直角三角形,它所有的边长都是正整数,而且n是它的最小边长。
输入格式
(单case)
一个数n(1 ≤ n ≤ 10000)。
输出格式
如果没有这样的直角三角形,输出“NO”(不包括双引号);
如果有,输出两个数,第一个数是另一条直角边边长,第二个数是斜边边长。
(确保只有一个答案)
输入样例
3
输出样例
4 5
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a;
scanf("%d",&a);
int b,c;
if(a==||a==)
printf("NO");
else if(a%==)//判断奇偶
{
b=a*a/-;//直接用数学公式法
c=a*a/+;
if(a<b&&a<c)
printf("%d %d",b,c);
else
printf("NO");
}
else if(a%!=)
{
b=(a*a-)/;
c=(a*a+)/;
if(a<b&&a<c)
printf("%d %d",b,c); else
printf("NO");
}
// printf("%d %d",b,c);
return ;
}
也就是说如果我们知道了最小边的话就可以不用for就直接用数学的公式就可以吧中边和大边给求出来了,那么加入最小边是不知道的,知道中边或者是长边的任意一个的话,该怎么求呢,
就基于上面的分析,我们还是利用了那个性质和勾股定理也是可以用数学公式发来吧其他边算出来的
如图:

思路:下面这道题目就是上面那个题目的进阶版了,因为它是要算出输入的x是短边中边长边的三种情况的
例题1079 三角形
时间限制:500MS 内存限制:65536K
提交次数:283 通过次数:82
题型: 编程题 语言: G++;GCC
Description
著名的数学家毕达哥拉斯可能从来都不曾想过有人居然会问他这样的一个问题:给出一个整数,存在多少个直角三角形,
它的某一条边的长度等于这个整数,而且其他边的长度也是整数。既然毕达哥拉斯不可能预见到有计算机的出现,
如果他回答不出来,那谁又能责怪他呢?但是现在既然你有了计算机,那么回答不出来就说不过去了。
输入格式
第一行有一个整数n,代表有多少个数据(1<=n<=20)。接下来有n行,每行代表一个数据。一个数据就是一个整数ai(a<=i<=n,1<=ai<=100)。
输出格式
每个数据都必须有相应的输出。两个数据的输出之间有一个空行。
对于每一个数据,如果找不到解,则输出一个空行。如果找到解,就把符合条件的所有直角三角形输出。每个三角形占一行,输出该三角形的另外两条边,
必须先输出长边,然后一个逗号,再输出短边。两个三角形之间不能有空行,而且必须按照长边降序排列。
输入样例
2
20
12
输出样例
101,99
52,48
29,21
25,15
16,12 37,35
20,16
15,9
13,5
代码:(待完善,我优化一下)
勾股数专题-SCAU-1079 三角形-18203 神奇的勾股数(原创)的更多相关文章
- scau 1079 三角形(暴力)
</pre>1079 三角形</h1></center><p align="center" style="margin-top: ...
- 数学--数论--直角三角形--勾股数---奇偶数列法则 a^2+b^2=c^2
先说勾股数: 勾股数,又名毕氏三元数 .勾股数就是可以构成一个直角三角形三边的一组正整数.勾股定理:直角三角形两条直角边a.b的平方和等于斜边c的平方(a²+b²=c²) 勾股数规律: 首先是奇数组口 ...
- hdu 6441 Find Integer(费马大定理+勾股数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6441(本题来源于2018年中国大学生程序设计竞赛网络选拔赛) 题意:输入n和a,求满足等式a^n+b^ ...
- 笔试题-求小于等于N的数中有多少组素勾股数
题目描述: 一组勾股数满足:a2+b2=c2: 素勾股数:a,b,c彼此互质. 输入正整数N: 输出小于等于N的数中有多少组勾股数. 例: 输入:10 输出:1 思路:我是直接暴力破解的…… 首先找出 ...
- checkbox属性checked="checked"已有,但却不显示打勾的解决办法
2014-02-05 BIWEB开发技巧 9919 在做权限管理的时候,做了一个功能,就是当勾选栏目,把所有的权限全勾上.刚开始使用了如下代码: function check(id,check) { ...
- 总结一下一般游戏中3D模型各种勾边方法遇到的工程性问题
以前做过简单的rim light勾边,几何勾边,这次又做了后处理的勾边,工程化的时候,都遇到很多问题,简单总结一下. 首先是火炬之光勾边效果,类似轮廓光的实现,简单的卡通渲染也是通过类似的算法加采样色 ...
- Windows 8 图标前面的勾选
http://bbs.pcbeta.com/viewthread-999730-1-1.html 不管是桌面的图标还是资源管理器中的图标之前都出现了一个小小的方框.选中图标的时候会自动勾选那个框,如果 ...
- ztree点击文字勾选checkbox,radio实现方法
ztree的复选框checkbok,单选框radio是用背景图片来模拟的,所以点击文字即使用label括起checkbox,radio文字一起,点击文字也是无法勾选checkbox. 要想点击ztre ...
- bzoj 1041: [HAOI2008]圆上的整点 本原勾股數組
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2027 Solved: 853[Submit][Stat ...
随机推荐
- django-表单之模型表单渲染(六)
class StudentForms(forms.ModelForm): formats=[ '%Y-%m-%d', '%m/%d/%Y', ] birthday = forms.DateField( ...
- GCC中,可以使用未声明过的函数
今天代码中使用了一个函数,这个函数也是自定义的,但是还没来得及声明和定义,可以编译时竟然未报错,网上查了下果然,GCC中可以使用未声明的函数http://bbs.csdn.net/topics/390 ...
- 【MySQL】MySQL数据类型
MySQL表数据存储大小说明 MySQL中规定,任何一条记录(数据表中每行数据)理论上的最大存储容量为 2^16 - 1 (Bytes) = 65535字节. MySQL数据类型思维导图 MySQL数 ...
- 消息队列 ActiveMQ 、RocketMQ 、RabbitMQ 和 Kafka 如何选择?
「 预计阅读 6 分钟 」 旁白:这是一篇拖更了N久的文章...0.0(看不见我~) 往期回顾 前端框架 jQuery 和 Vue 如何选择? 安全框架 Shiro 和 Spring Security ...
- maven项目部署到tomcat方法
今天记录下,maven项目部署到服务器的过程 1.首先在ide中里将自己的maven项目打包 mvn clean install 2. 看是否需要修改war包的名字,如果要修改,就用命令 mv xxx ...
- Lucas的数论:杜教筛,莫比乌斯反演
Description: 求$\sum\limits_{i=1}^{n} \sum\limits_{j=1}^{n} d(i \times j)$ $d(i)$表示$i$的约数个数和.$n \leq ...
- Redis性能解析--Redis为什么那么快?
echo编辑整理,欢迎转载,转载请声明文章来源.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!!! Red ...
- Spark安装与学习
http://www.cnblogs.com/jerrylead/archive/2012/08/13/2636115.html
- 朋友的一年工作经验跳槽字节跳动社招经历分享(已拿offer)
虽然已经临近年末,但是还是萌生要看新机会的想法,主要的原因是觉得在目前的岗位上技术增长遇到的瓶颈,因此想去做一些更有挑战的工作.因为仍然准备继续在深圳工作,因此选定了三家公司,腾讯.字节跳动和 sho ...
- csp-s 66
我向来只在考砸的时候写博客.这次题很水,但是我极没有状态,我T1没看题目前面的话: 不知道这个条件的我蒙蔽的答题.推各种柿子,想这个矩阵的特殊构造,就是同行的构造,然后我T1想了1个多小时,然后死了! ...