【编程题目 |100分】勾股数元组【2021 H1,H2,2022 Q1 考试题】
时间限制:C/C++ 1秒,其他语言 2秒
空间限制:C/C++262144K,其他语言524288K
64bit IO Format:%lld
本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,
编码后请点击”保存并调试“按钮进行代码提交。
■ 题目描述
【勾股数元组】
如果3个正整数(a,b,c)满足a2 + b2 = c2的关系,则称(a,b,c)为勾股数(著名的勾三股四弦五),
为了探索勾股数的规律,我们定义如果勾股数(a,b,c)之间两两互质(即a与b,a与c,b与c之间均互质,没有公约数),则其为勾股数元组(例如(3,4,5)是勾股数元组,(6,8,10)则不是勾股数元组)。
请求出给定范围[N,M]内,所有的勾股数元组。
输入描述
起始范围N,1 <= N <= 10000
结束范围M,N < M <= 10000
输出描述
1. a,b,c请保证a < b < c,输出格式:a b c;
2. 多组勾股数元组请按照a升序,b升序,最后c升序的方式排序输出;
3. 给定范围中如果找不到勾股数元组时,输出”NA“。
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
1
20
输出
3 4 5
5 12 13
8 15 17
说明
代码实现
隐藏内容
此处内容需要权限查看
会员免费查看C++
#include <bits/stdc++.h> using namespace std; int is_coPrime(int src1, int src2); int GogutanPrimitive(int N, int M); int main(int argc, char **argv) { int N = 0, M = 0; scanf("%d %d", &N, &M); GogutanPrimitive(N, M); return 0; }
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看JAVA
import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int i1 = sc.nextInt(); int i2 = sc.nextInt();
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看Python解法一
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看Python解法二
n = int(input()) m = int(input()) flag = True
剩余50%内容,购买单篇文章或订阅会员后查看
隐藏内容
此处内容需要权限查看
会员免费查看声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。