1.勾股数

如果三个正整数A B C ,A²+B²=C²则为勾股数
如果ABC之间两两互质,即A与B A与C B与C均互质没有公约数,
则称其为勾股数元组。 请求出给定n m 范围内所有的勾股数元组

输入描述: 起始范围 1<n<10000 n<m<10000
输出描述:  abc 保证a<b<c  输出格式 a b c

多组勾股数元组 按照a升序b升序 c升序的排序方式输出。给定范围内,找不到勾股数元组时,输出 Na

案例
输入
1
20
输出
3 4 5
5 12 13
8 15 17


输入
5
10
输出
Na

查看代码
import java.util.*; //勾股数 public class Demo1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); int m = Integer.parseInt(sc.nextLine()); int count = 0; //暴力求解 for (int a = n; a < m; a++) { for (int b = n + 1; b < m; b++) { for (int c = n + 2; c < m; c++) { if (a * a + b * b == c * c && a < b && b < c && huZhi(a, b) == 1 && huZhi(a, c) == 1 && huZhi(b, c) == 1){ System.out.println(a + " " + b + " " + c); count++; } } } } if(count == 0){ System.out.println("Na"); } } //辅助函数,判断两个数是否互质 private static int huZhi(int a, int b) { if (a == 0 || b == 0) { return 1; } else if (a % b == 0) { return b; } else { return huZhi(b, a % b); } } }

 

总结:

  • 设置了一个count标志变量来判断是否存在符合要求的数据。
  • 对题目的多种条件,尤其对有序的要求,解决的方式简单的有点意外,可能是之前对多条件无脑恐惧。
  • 思维要继续落实好“万岁”策略!

__EOF__

本文作者Jukim
本文链接https://www.cnblogs.com/Jukim/p/16046677.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Jukim  阅读(1099)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示