📅  最后修改于: 2023-12-03 15:27:58.086000             🧑  作者: Mango
本程序旨在找出所有GCD等于给定数字的自然数对。
import math
n = int(input("请输入一个正整数n作为GCD值:"))
result = []
for i in range(1, n+1):
for j in range(i+1, n+1):
if math.gcd(i, j) == n:
result.append((i, j))
print("GCD等于{}的所有自然数对为:{}".format(n, result))
以下以n=3为例:
请输入一个正整数n作为GCD值:3
GCD等于3的所有自然数对为:[(3, 6), (3, 9), (3, 12), (3, 15), (3, 18), (3, 21), (3, 24), (3, 27), (3, 30)]
本程序使用了两层嵌套循环,在最坏的情况下需要执行n*(n-1)/2次循环,时间复杂度为O(n^2)。由于程序中只进行了简单的数值计算,空间复杂度为O(1)。在数据量较小的情况下,本程序的性能表现较为出色。