7-204 毕达哥拉斯三元组

一个直角三角形具有边长均为整数的三条边。直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数)。这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角形斜边的平方。从键盘输入一个正整数n,请找出不大于n的所有毕达哥拉斯三元组。可以使用一个三重嵌套的for循环语句,它可以非常简单地尝试所有的可能性。这是一个穷举法的典型例子。

对于很多人来说,这种技术并不美观,也不令人愉快。但有很多理由可以说明为什么这种技术是重要的。首先,随着计算功能显著增强,几年前使用这种技术,需要几年甚至几个世纪的计算时间才能够得到结果的解决方案,现在能够在几个小时、几分钟甚至几秒之内就得到结果。其次,在以后的计算机科学课程中,你将学到,除了使用穷举法之外,有大量的有趣问题无法用更高效的算法来解决。

输入格式:

输入一个正整数n。

输出格式:

以(a, b, c)的形式,按字典顺序输出不大于n的所有毕达哥拉斯三元组。每个三元组占一行。注意每个逗号后面有一个空格,括号前后均没有空格。

输入样例1:

10

输出样例1:

(3, 4, 5)
(4, 3, 5)
(6, 8, 10)
(8, 6, 10)

输入样例2:

20

输出样例2:

(3, 4, 5)
(4, 3, 5)
(5, 12, 13)
(6, 8, 10)
(8, 6, 10)
(8, 15, 17)
(9, 12, 15)
(12, 5, 13)
(12, 9, 15)
(12, 16, 20)
(15, 8, 17)
(16, 12, 20)
#include <stdio.h>int main() {int n;scanf("%d", &n);for (int i = 1; i <= n; ++i) {for (int j = 1; j <= n; ++j) {for (int k = 1; k <= n; ++k) {if (i * i + j * j == k * k) {printf("(%d, %d, %d)\n", i, j, k);}}}}return 0;}

思路

- 差点被这道题目名字和长度唬住了,就是一个勾股数 a²+b²=c²,求出小于c的所有勾股数
- 暴力穷举就行了

7-204 毕达哥拉斯三元组相关推荐

  1. FZU1669 Right-angled Triangle【毕达哥拉斯三元组】

    主题链接: http://acm.fzu.edu.cn/problem.php?pid=1669 题目大意: 求满足以a.b为直角边,c为斜边,而且满足a + b + c <= L的直角三角形的 ...

  2. 数论 —— 毕达哥拉斯三元组

    [定义] 满足  的  三元组称为毕达哥拉斯三元组,当  时,称其为本原的. 毕达哥拉斯三元组,也称为勾股数. [性质] 由 x.y.z 构成的三元组 (x,y,z) ,其中 y 为偶数,那么由他们构 ...

  3. 7 特殊毕达哥拉斯三元组

    毕达哥拉斯三元组是三个自然数a < b < c组成的集合,并满足 a^ + b^ = c^ 例如,3^ + 4^ = 9 + 16 = 25 = 5^. 有且只有一个毕达哥拉斯三元组满足 ...

  4. 4-2毕达哥拉斯三元组

    一个直角三角形具有边长均为整数的三条边.直角三角形边长的这组整数值称为毕达哥拉斯三元组(中国称为勾股数).这三条边必须满足这样的关系:两条直角边的平方之和必须等于直角三角形斜边的平方.从键盘输入一个正 ...

  5. 特殊的不定方程——毕达哥拉斯三元组(勾股数组)

    毕达哥拉斯三元组:若正整数x,y,z满足下x^2+y^2=z^2.满足这个方程的正整数三元组被称为毕达哥拉斯三元组. 本原毕达哥拉斯三元组:若gcd(x,y,a)=1,则正整数三元组被称为本原毕达哥拉 ...

  6. 毕达哥拉斯三元组及本原毕达哥拉斯三元组

    毕达哥拉斯定理:勾股定理又称商高定理.毕达哥拉斯定理,是平面几何中一个基本而重要的定理.勾股定理说明,平面上的直角三角形的两条直角边的长度(古称勾长.股长)的平方和等于斜边长(古称弦长)的平方.反之, ...

  7. 勾股数(毕达哥拉斯三元组)

    勾股数(毕达哥拉斯三元组) 勾股数:可以构成一组直角三角形边长的三个正整数. eg: 3 4 5 勾股数的规律: 1)任何大于1的正奇数a=2k+1,其平方t=a^2仍为奇数,且将平方数拆成两个相邻的 ...

  8. 【POj1305】毕达哥拉斯三元组

    1.题目链接.这个题目是在求这样的一个问题:三个正整数x,y,z都小于等于N,这三个数组成一个三元组(x,y,z).其中,他们两两互质,也就是说(x,y,z)=1.并且x*x+y*y=z*z.求出这样 ...

  9. C语言求边长500以内的毕达哥拉斯三元组的个数

    #include<stdio.h> #include<math.h> #include<stdlib.h>int main() {int side1; //直角边1 ...

最新文章

  1. array_filter php5.4 php5.5,PHP 5.4:我可以使用filter_var_array()将多个标志与过滤器一起使用吗?...
  2. 博客改版日记 9.11——抱歉
  3. opencv双目测距资料整理
  4. mongodb 运行错误总结
  5. 如何理解git的快照?
  6. Ubuntu 安装LAMP ...
  7. 4.Hadoop的学习(Hadoop的安装及环境变量的配置)
  8. Spring Cron Expression
  9. HDOJ(HDU) 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
  10. 第一篇博客:WPF中 ScrollViewer控件的ScrollIntoView方法
  11. python爬取收费音乐_想下载的歌曲太多?嫌麻烦?要付费?戳这,帮你解决---Python爬取酷狗音乐...
  12. 文献笔记(9)(2019ISSCC)
  13. Spring 4.x vs Spring 5.x
  14. CSS设置div水平垂直居中
  15. FPGA之JESD204B接口——总体概要 尾片
  16. 认知神经科学技术革命
  17. 各大it公司历届笔试面试题
  18. win10 vs2008到期的解决办法:
  19. TDMA解调接收机IP core
  20. 阿里云云服务器无法通过公网ip地址访问网站的解决方法

热门文章

  1. linux 无法使用pstree命令
  2. 若依前后端分离系统-后端遇到的坑
  3. 【超详细】FL Studio 21新版更新全解析!80项更新与改进!
  4. 关于PostgreSQL failed to load SQLModule安装失败的解决办法
  5. SpringBoot+Jpa实现CURD
  6. CVE-2020-1971: OpenSSL 拒绝服务漏洞通告
  7. 怎样成长为更好的自己--《靠谱:顶尖咨询师教你的工作基本功》
  8. 设文件索引结点中有7个地址项
  9. 核高基是什么意思?为什么要搞核高基?核高基与我们有啥关系?
  10. 特许市场技术分析师(CMT)推荐材料