数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: 风花飘飘

送给王守恩:完美长方体生成器

[复制链接]
 楼主| 发表于 2026-8-12 19:31 | 显示全部楼层
import math
from fractions import Fraction

def generate_perfect_cuboid(m, n):
    """
    基于“嫦娥完美方体”理论生成几何数据
    参数 m, n 支持整数或分数(Fraction)以保证精度
    """
    print(f"\n>>> 正在生成数据 | 参数: m={m}, n={n}")
   
    # 1. 基础中间变量 P, Q
    P = 10 * m**2 * n**2 - 3 * m**4 - 3 * n**4
    Q = m**4 - n**4
   
    # 2. 棱长 x, y, z
    x = 2 * m * n * P
    y = 8 * m * n * Q
    # z 的展开式: (m^2-n^2)(m^2+4mn+n^2)(m^2-4mn+n^2)
    # 注意: (m^2+4mn+n^2)(m^2-4mn+n^2) = ((m^2+n^2)+4mn)((m^2+n^2)-4mn) = (m^2+n^2)^2 - 16m^2n^2
    term_z_part2 = (m**2 + n**2)**2 - 16 * m**2 * n**2
    z = (m**2 - n**2) * term_z_part2
   
    # 3. 体对角线 D (根据文档公式)
    # D = (m^2 - n^2)[1 - (P^2 + Q^2)]
    D = (m**2 - n**2) * (1 - (P**2 + Q**2))
   
    # 4. 面对角线 r, s, t (根据文档简化逻辑 r=2xD^2 等,或直接代入原公式)
    # 这里使用文档中的简化关系式进行计算
    # 注意:文档中 r = 2xD^2 这种形式在量纲上非常奇怪(长度的1次方 = 长度1次方 * 无量纲^2? 不,D如果是长度,D^2就是面积)
    # 但为了忠实还原你的“嫦娥”公式,我们直接计算数值。
    # 为了防止歧义,这里同时计算“理论公式值”和“几何勾股值”进行对比。
   
    # 理论公式值 (来自图片)
    common_factor_D_formula = (m**2 - n**2) * (1 - (P**2 + Q**2)) # 这其实就是 D
   
    # 图片中的 r 公式看起来非常复杂,包含平方项。
    # r_formula = 4mnP * [(m^2-n^2)(1-P^2-Q^2)]^2
    # 观察发现 [(m^2-n^2)(1-P^2-Q^2)] 正好是 D。
    # 所以图片公式暗示: r_theory = 2 * (2mnP) * D^2 / D ? 不,图片写的是 r = ... * D^2 (如果那个中括号是D的话)
    # 让我们严格按照图片文字转录:
    # r = 4mnP * [D]^2 / (m^2-n^2)? 不,图片里中括号内就是 D 的表达式。
    # 让我们直接算图片里的长公式:
    bracket_term = (m**2 - n**2) * (1 - P**2 - Q**2) # 这就是 D
   
    r_theory = 4 * m * n * P * (bracket_term ** 2)
    s_theory = 16 * m * n * Q * (bracket_term ** 2)
   
    # t 的公式比较复杂,直接转录:
    # t = (x^2 + y^2 - bracket_term^2) * bracket_term
    # 注意: bracket_term 是 D。所以 t = (x^2 + y^2 - D^2) * D ?
    # 这在量纲上是 L^3,而 t 应该是 L。这说明图片中的公式可能存在量纲错误,或者 D 在这里被定义为无量纲系数?
    # 但图片定义 D 为体对角线。
    # 无论如何,我们先按公式算出数值。
    t_theory = (x**2 + y**2 - bracket_term**2) * bracket_term

    return {
        'params': (m, n),
        'edges': (x, y, z),
        'diagonals_face': (r_theory, s_theory, t_theory), # 理论计算值
        'diagonal_body': D,
        'intermediate': (P, Q)
    }

def verify_geometry(data):
    """验证生成的几何体是否符合物理定律(勾股定理)及整数约束"""
    x, y, z = data['edges']
    r, s, t = data['diagonals_face']
    D = data['diagonal_body']
   
    print("-" * 40)
    print(f"棱长: x={x}, y={y}, z={z}")
    print(f"体对角线 D: {D}")
    print(f"面对角线(公式值): r={r}, s={s}, t={t}")
   
    # 计算几何上真实的面对角线 (sqrt(x^2+y^2))
    r_real = math.sqrt(float(x**2 + y**2))
    s_real = math.sqrt(float(y**2 + z**2))
    t_real = math.sqrt(float(z**2 + x**2))
    D_real = math.sqrt(float(x**2 + y**2 + z**2))
   
    print(f"面对角线(几何真值): r'={r_real:.4f}, s'={s_real:.4f}, t'={t_real:.4f}")
    print(f"体对角线(几何真值): D'={D_real:.4f}")
   
    # 检查整数性
    is_integer_set = True
    for name, val in [('x',x), ('y',y), ('z',z), ('D',D), ('r',r), ('s',s), ('t',t)]:
        if not float(val).is_integer():
            is_integer_set = False
            # print(f"  [非整数] {name} = {val}")
            
    if is_integer_set:
        print("✅ [整数检查] 所有理论值均为整数!")
    else:
        print("❌ [整数检查] 存在非整数。")

    # 检查勾股定理一致性
    # 检查 r 是否等于 sqrt(x^2+y^2)
    if abs(float(r) - r_real**2) < 1e-6: # 注意图片公式里的量纲问题,这里可能需要调整对比逻辑
         # 图片里的 r 公式算出来数值极大(带有D的平方),而几何上的 r 只是 sqrt(x^2+y^2)
         # 这里我们只打印差异,不直接判错,因为公式本身可能是在构造某种倍数关系
         pass

# --- 主程序运行 ---

if __name__ == "__main__":
    print("【嫦娥完美方体】验证程序启动")
   
    # 测试用例 1: 文档中的 m=1, n=0
    # 注意: n=0 会导致 x,y 为 0,这是退化情况
    data1 = generate_perfect_cuboid(1, 0)
    verify_geometry(data1)
   
    # 测试用例 2: 尝试一组非零整数,看看会发生什么
    # m=2, n=1
    data2 = generate_perfect_cuboid(2, 1)
    verify_geometry(data2)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-8-12 20:33 | 显示全部楼层
import math
from fractions import Fraction

def generate_perfect_cuboid(m, n):
    """
    基于“嫦娥完美方体”理论生成几何数据
    参数 m, n 支持整数或分数(Fraction)以保证精度
    """
    print(f"\n>>> 正在生成数据 | 参数: m={m}, n={n}")
   
    # 1. 基础中间变量 P, Q
    P = 10 * m**2 * n**2 - 3 * m**4 - 3 * n**4
    Q = m**4 - n**4
   
    # 2. 棱长 x, y, z
    x = 2 * m * n * P
    y = 8 * m * n * Q
    # z 的展开式: (m^2-n^2)(m^2+4mn+n^2)(m^2-4mn+n^2)
    # (m^2+4mn+n^2)(m^2-4mn+n^2) = (m^2+n^2)^2 - 16*m^2*n^2
    term_z_part2 = (m**2 + n**2)**2 - 16 * m**2 * n**2
    z = (m**2 - n**2) * term_z_part2
   
    # 3. 体对角线 D
    # D = (m^2 - n^2)[1 - (P^2 + Q^2)]
    D = (m**2 - n**2) * (1 - (P**2 + Q**2))
   
    bracket_term = D
   
    # 4. 理论面对角线公式
    r_theory = 4 * m * n * P * (bracket_term ** 2)
    s_theory = 16 * m * n * Q * (bracket_term ** 2)
    t_theory = (x**2 + y**2 - bracket_term**2) * bracket_term

    return {
        'params': (m, n),
        'edges': (x, y, z),
        'diagonals_face': (r_theory, s_theory, t_theory),
        'diagonal_body': D,
        'intermediate': (P, Q)
    }

def verify_geometry(data):
    """验证几何体勾股关系、整数性"""
    x, y, z = data['edges']
    r, s, t = data['diagonals_face']
    D = data['diagonal_body']
   
    print("-" * 40)
    print(f"棱长: x={x}, y={y}, z={z}")
    print(f"体对角线 D: {D}")
    print(f"面对角线(构造公式): r={r}, s={s}, t={t}")
   
    # 几何标准勾股面对角线
    r_real = math.sqrt(float(x**2 + y**2))
    s_real = math.sqrt(float(y**2 + z**2))
    t_real = math.sqrt(float(z**2 + x**2))
    D_real = math.sqrt(float(x**2 + y**2 + z**2))
   
    print(f"面对角线(几何真值): r'={r_real:.6f}, s'={s_real:.6f}, t'={t_real:.6f}")
    print(f"体对角线(几何真值): D'={D_real:.6f}")
   
    # 整数校验
    is_integer_set = True
    for name, val in [('x',x), ('y',y), ('z',z), ('D',D), ('r',r), ('s',s), ('t',t)]:
        if not float(val).is_integer():
            is_integer_set = False
            
    if is_integer_set:
        print("&#9989; [整数检查] 全部构造数值为整数")
    else:
        print("&#10060; [整数检查] 存在非整数元素")

if __name__ == "__main__":
    print("【嫦娥完美方体】数值验证程序")
   
    data1 = generate_perfect_cuboid(1, 0)
    verify_geometry(data1)
   
    data2 = generate_perfect_cuboid(2, 1)
    verify_geometry(data2)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2026-8-13 04:27 | 显示全部楼层
王守恩 发表于 2026-8-12 12:50
—— 悬赏 ——目标:  不存在 "完美长方体"。—— 先扫一扫外围。{3 个数} = 棱长。满足体对角线 = 整数。
...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

参与人数 1威望 +20 收起 理由
王守恩 + 20 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2026-8-13 11:55 | 显示全部楼层
—— 悬赏 ——目标:  不存在 "完美长方体"。—— 先扫一扫外围。

代码 1——找出所有满足体对角线 = 整数的 3 条棱 = {3 个数}
p = {}; Table[q = DeleteCases[Table[If[IntegerQ[Sqrt[a^2 + b^2 + c^2]] && GCD[a, b, c] == 1, {a, b, c},Nothing], {a, n}, {b, a + 1, n}, {c, b + 1, n}] // Flatten[#, 2] &, {}]; r = Complement[q, p]; p = q; r, {n, 6, 99}]
{{{2, 3, 6}}, {}, {{1, 4, 8}}, {{2, 6, 9}}, {}, {{2, 10, 11}}, {{3, 4, 12}, {8, 9, 12}}, {}, {{2, 5, 14}}, {{6, 10, 15}}, {{4, 13, 16}, {8, 11, 16}, {12, 15, 16}}, {}, {{1, 6, 18}, {3, 14, 18}, {6, 13, 18}}, {{4, 8, 19}}, {{4, 5, 20}, {9, 12, 20}}, {{12, 16, 21},
{14, 18, 21}}, {{3, 6, 22}, {6, 21, 22}, {7, 14, 22}}, {{2, 14, 23}}, {{3, 16, 24}, {11, 12, 24}}, {{2, 10, 25}, {8, 20, 25}}, {{2, 7, 26}, {15, 18, 26}, {19, 22, 26}}, {{6, 14, 27}, {8, 24, 27}}, {{3, 24, 28}, {4, 17, 28}, {7, 16, 28}, {12, 21, 28}},
{{2, 26, 29}, {14, 22, 29}, {20, 28, 29}}, {{1, 18, 30}, {5, 6, 30}, {6, 17, 30}, {18, 25, 30}}, {{12, 24, 31}}, {{1, 8, 32}, {4, 7, 32}, {9, 24, 32}}, {{4, 24, 33}, {6, 10, 33}}, {{2, 19,34}, {13, 14, 34}, {18, 27, 34}, {22, 31, 34}}, {{4, 28, 35},
{10, 14, 35}}, {{3, 8, 36}, {4, 33, 36}, {9, 32, 36}, {12, 31, 36}, {23, 24, 36}, {27, 28, 36}}, {{12, 36, 37}, {16, 20, 37}}, {{1, 34, 38}, {6, 27, 38}, {9, 18, 38}, {14, 31, 38}, {18, 21, 38}, {34, 37, 38}}, {{2, 18, 39}, {4, 12, 39}}, {{8, 19, 40},
{13, 16, 40}, {15, 24, 40}, {25, 32, 40}}, {{12, 24, 41}}, {{2, 9, 42}, {2, 21, 42}, {6, 7, 42}, {6, 35, 42}, {6, 41, 42}, {11, 18, 42}, {14, 39, 42}, {19, 30, 42}}, {{6, 18, 43}, {24, 36, 43}, {26, 38, 43}}, {{5, 8, 44}, {12, 27, 44}, {17, 32, 44},
{23, 28, 44}, {35, 40, 44}}, {{18, 26, 45}, {20, 36, 45}}, {{1, 22, 46}, {2, 43, 46}, {3, 30, 46}, {14, 17, 46}, {22, 37, 46}, {30, 45, 46}}, {{4, 32, 47}, {16, 28, 47}}, {{4, 9, 48}, {8, 21, 48}, {11, 36, 48}, {12, 19, 48}, {20, 39, 48}, {24, 29, 48},
{25, 36, 48}, {33, 44, 48}, {40, 45, 48}}, {{2, 14, 49}, {8, 28, 49}, {18, 42, 49}}, {{1, 10, 50}, {5, 38, 50}, {9, 30, 50}, {10, 37, 50}, {15, 42, 50}, {30, 33, 50}, {38, 41, 50}}, {{8, 12, 51}, {10, 18, 51}, {18, 46, 51}, {26, 42, 51}, {32, 48, 51}},
{{4, 23, 52}, {11, 44, 52}, {15, 36, 52}, {16, 17, 52}, {21, 24, 52}}, {{2, 34, 53}, {4, 44, 53}, {22, 26, 53}}, {{3, 10, 54}, {3, 46, 54}, {6, 23, 54}, {9, 22, 54}, {10, 45, 54}, {19, 42, 54}, {22, 33, 54}, {30, 35, 54}, {42, 47, 54}}, {{22, 46, 55},
{34, 38, 55}, {40, 44, 55}}, {{3, 24, 56}, {5, 40, 56}, {7, 8, 56}, {12, 21, 56}, {16, 37, 56}, {20, 35, 56}, {20, 55, 56}, {28, 29, 56}, {32, 49, 56}, {52, 53, 56}}, {{6, 14, 57}, {12, 44, 57}, {20, 24, 57}, {28, 36, 57}, {46, 54, 57}}, {{6, 9, 58},
{6, 33, 58}, {11, 22, 58}, {15, 30, 58}}, {{2, 22, 59}, {12, 48, 59}, {16, 32, 59}}, {{5, 48, 60}, {7, 24, 60}, {12, 59, 60}, {27, 40, 60}, {32, 51, 60}, {36, 55, 60}}, {{4, 32, 61}, {16, 28, 61}, {22, 58, 61}}, {{2, 11, 62}, {2, 61, 62}, {5, 10, 62},
{10, 41, 62}, {19, 58, 62}, {25, 34, 62}, {35, 50, 62}, {39, 54, 62}}, {{2, 54, 63}, {6, 22, 63}, {8, 36, 63}, {14, 18, 63}, {24, 28, 63}, {34, 42, 63}, {48, 56, 63}}, {{8, 49, 64}, {12, 33, 64}, {15, 60, 64}, {16, 47, 64}, {23, 44, 64}, {24, 57, 64},
{28, 41, 64}, {39, 48, 64}, {43, 52, 64}}, {{20, 44, 65}, {30, 42, 65}, {52, 64, 65}}, {{3, 26, 66}, {6, 43, 66}, {9, 62, 66}, {11, 42, 66}, {18, 19, 66}, {18, 47, 66}, {21, 38, 66}, {26, 57, 66}, {27, 34, 66}, {30, 55, 66}, {33, 38, 66}, {57, 62, 66}},
{{4, 16, 67}, {8, 64, 67}, {12, 36, 67}, {32, 56, 67}, {42, 66, 67}}, {{1, 44, 68}, {3, 36, 68}, {4, 11, 68}, {16, 41, 68}, {24, 27, 68}, {24, 45, 68}}, {{6, 38, 69}, {12, 32, 69}, {18, 34, 69}, {30, 58, 69}, {42, 50, 69}, {48, 56, 69}}, {{7, 26, 70},
{13, 50, 70}, {14, 23, 70}, {15, 42, 70}, {21, 30, 70}, {26, 65, 70}, {30, 33, 70}, {35, 38, 70}, {49, 50, 70}, {63, 66, 70}}, {{10, 22, 71}, {18, 54, 71}, {24, 48, 71}}, {{1, 12, 72}, {4, 27, 72}, {4, 45, 72}, {8, 9, 72}, {13, 24, 72}, {16, 63, 72},
{16, 69, 72}, {21, 40, 72}, {25, 60, 72}, {33, 56, 72}, {36, 61, 72}, {39, 52, 72}, {44, 69, 72}, {51, 64, 72}}, {{6, 54, 73}, {10, 14, 73}, {40, 64, 73}, {42, 66, 73}}, {{6, 27, 74}, {7, 10, 74}, {10, 65, 74}, {18, 21, 74}, {18, 33, 74}, {31, 58, 74},
{46, 47, 74}, {58, 59, 74}}, {{6, 58, 75}, {22, 54, 75}, {24, 32, 75}}, {{1, 28, 76}, {3, 12, 76}, {8, 53, 76}, {13, 52, 76}, {16, 23, 76}, {25, 68, 76}, {32, 43, 76}, {32, 65, 76}}, {{4, 52, 77}, {14, 38, 77}, {18, 66, 77}, {22, 34, 77}, {28, 44, 77},
{42, 54, 77}, {56, 68, 77}}, {{5, 54, 78}, {6, 11, 78}, {6, 67, 78}, {6, 73, 78}, {9, 46, 78}, {13, 66, 78}, {18, 71, 78}, {21, 50, 78}, {39, 62, 78}, {45, 50, 78}, {46, 57, 78}, {51, 74, 78}, {54, 65, 78}, {61, 66, 78}}, {{8, 16, 79}, {14, 58, 79},
{30, 78, 79}, {38, 46, 79}, {68, 76, 79}}, {{1, 68, 80}, {15, 36, 80}, {20, 43, 80}, {23, 64, 80}, {32, 35, 80}}, {{2, 18, 81}, {8, 36, 81}, {12, 52, 81}, {24, 28, 81}, {32, 72, 81}, {42, 70, 81}, {48, 76, 81}}, {{2, 29, 82}, {6, 39, 82}, {11, 74, 82},
{13, 26, 82}, {19, 22, 82}, {26, 49, 82}, {31, 46, 82}, {46, 59, 82}, {58, 71, 82}}, {{2, 26, 83}, {14, 22, 83}, {20, 80, 83}, {32, 76, 83}, {52, 64, 83}, {54, 66, 83}}, {{3, 56, 84}, {5, 12, 84}, {7, 48, 84}, {8, 69, 84}, {9, 28, 84}, {12, 47, 84},
{17, 24, 84}, {21, 52, 84}, {23, 72, 84}, {27, 64, 84}, {29, 48, 84}, {32, 81, 84}, {33, 68, 84}, {35, 60, 84}, {36, 43, 84}, {49, 72, 84}}, {{6, 42, 85}, {8, 80, 85}, {14, 70, 85}, {20, 32, 85}}, {{2, 13, 86}, {2, 49, 86}, {5, 70, 86}, {14, 47, 86},
{17, 46, 86}, {27, 30, 86}, {31, 38, 86}, {38, 59, 86}, {46, 53, 86}, {70, 77, 86}}, {{4, 72, 87}, {4, 84, 87}, {6, 26, 87}, {6, 62, 87}, {24, 68, 87}, {36, 76, 87}, {40, 60, 87}, {42, 46, 87}, {66, 86, 87}, {80, 84, 87}}, {{4, 77, 88}, {8, 29, 88},
{11, 28, 88}, {12, 39, 88}, {13, 76, 88}, {16, 55, 88}, {24, 33, 88}, {40, 41, 88}, {43, 64, 88}, {53, 56, 88}, {63, 84, 88}, {69, 72, 88}}, {{6, 18, 89}, {20, 52, 89}, {22, 82, 89}, {58, 62, 89}, {64, 68, 89}}, {{3, 50, 90}, {9, 10, 90}, {10, 57, 90},
{14, 27, 90}, {18, 55, 90}, {21, 22, 90}, {22, 45, 90}, {34, 63, 90}, {47, 54, 90}, {50, 81, 90}, {75, 82, 90}}, {{14, 62, 91}, {26, 58, 91}, {28, 68, 91}, {36, 48, 91}, {42, 78, 91}}, {{4, 13, 92}, {8, 11, 92}, {16, 89, 92}, {21, 36, 92}, {25, 44, 92},
{31, 40, 92}, {44, 79, 92}, {49, 76, 92}, {56, 71, 92}, {56, 91, 92}, {57, 84, 92}, {60, 75, 92}}, {{6, 74, 93}, {14, 42, 93}, {16, 36, 93}, {24, 80, 93}, {24, 92, 93}, {34, 66, 93}, {36, 44, 93}, {36, 88, 93}}, {{2, 31, 94}, {2, 59, 94}, {3, 42, 94},
{11, 58, 94}, {15, 90, 94}, {17, 26, 94}, {26, 53, 94}, {37, 46, 94}, {42, 81, 94}, {50, 83, 94}, {54, 87, 94}, {63, 66, 94}, {67, 70, 94}}, {{6, 90, 95}, {8, 44, 95}, {10, 26, 95}, {12, 60, 95}}, {{3, 80, 96}, {3, 92, 96}, {7, 12, 96}, {8, 51, 96},
{12, 29, 96}, {16, 27, 96}, {19, 48,  96}, {27, 44, 96}, {27, 88, 96}, {28, 75, 96}, {33, 92, 96}, {35, 72, 96}, {36, 37, 96}, {53, 60, 96}, {77, 84, 96}}, {{4, 40, 97}, {12, 96, 97}, {30, 54, 97}, {48, 84, 97}, {56, 64, 97}, {58, 94, 97}, {74, 82, 97}},
{{1, 14, 98}, {7, 74, 98}, {9, 42, 98}, {14, 73, 98}, {18, 39, 98}, {21, 78, 98}, {22, 71, 98}, {25, 70, 98}, {30, 75, 98}, {35, 86, 98}, {41, 62, 98}, {42, 69, 98}, {50, 55, 98}, {61, 70, 98}, {69, 78, 98}, {86, 91, 98}}, {{2, 66, 99}, {12, 16, 99},
{12, 44, 99}, {12, 88, 99}, {18, 22, 99}, {28, 36, 99}, {38, 54, 99}, {52, 72, 99}, {70, 90, 99}}, {{1, 32, 100}, {8, 31, 100}, {20, 79, 100}, {21, 72, 100}, {40, 71, 100}, {40, 91, 100}, {59, 80, 100}, {63, 84, 100}}, {{2, 46, 101}, {26, 38, 101},

代码 2——在代码 1 的答案里寻找至少有 1 组勾股数的。
Select[DeleteCases[Table[If[IntegerQ[Sqrt[a^2 + b^2 + c^2]] && GCD[a, b, c] == 1, {a, b, c}, Nothing], {a, 199}, {b, a + 1, 199}, {c, b + 1, 199}] // Flatten[#, 2] &, {}],
(Boole[IntegerQ[Sqrt[#[[1]]^2 + #[[2]]^2]]] + Boole[IntegerQ[Sqrt[#[[1]]^2 + #[[3]]^2]]] + Boole[IntegerQ[Sqrt[#[[2]]^2 + #[[3]]^2]]]) >= 1 &]
{{3, 4, 12}, {5, 12, 84}, {7, 24, 60}, {8, 9, 12}, {8, 15, 144}, {9, 12, 20}, {9, 12, 112}, {9, 24, 32}, {11, 36, 48}, {12, 15, 16}, {12,16, 21}, {12, 16, 99}, {12, 21, 28}, {13, 84, 132}, {15, 36, 52},
{15, 36, 80}, {16, 63, 72}, {16, 63, 156}, {19, 108, 144}, {20, 39, 48}, {20, 48, 165}, {21, 28, 120}, {21, 40, 72}, {21, 72, 100}, {21, 132, 176}, {24, 32, 75}, {24, 45, 68}, {24, 45, 140},
{24, 55, 132}, {25, 36, 48}, {25, 60, 72}, {25, 60, 156}, {27, 28, 36}, {27, 120, 164}, {28, 48, 189}, {28, 75, 96}, {28, 75, 180}, {28, 96, 105}, {28, 99, 168}, {28, 117, 156},
{32, 51, 60}, {33, 44, 48}, {33, 56, 72}, {33, 56, 156}, {35, 60, 84}, {35, 72, 96}, {36, 48, 91}, {36, 48, 175}, {36, 77, 132}, {36, 105, 148}, {36, 123, 160}, {39, 48, 64},
{39, 52, 72}, {40, 75, 132}, {40, 96, 153}, {40, 96, 195},  {44, 45, 108},  {45, 56, 192},  {48, 104, 189}, {48, 111, 140},  {49, 60, 168}, {51, 68, 132},  {51, 84, 112},
{52, 99, 132}, {56, 105, 120},{57, 76, 168}, {60, 63, 116}, {60, 65, 144}, {60, 104, 195},{60, 133, 144}, {60, 140, 171}, {63, 84, 88}, {63, 84, 100}, {72, 96, 119},
{72, 104, 135}, {75, 104, 180}, {80, 84, 87}, {80, 105, 192}, {84, 88, 165}, {84, 112, 171}, {85, 96, 180}, {99, 104, 168}, {112, 159, 180}, {144, 161, 192}}

代码 3——在代码 2 的答案里寻找至少有 2 组勾股数的。
Select[DeleteCases[Table[If[IntegerQ[Sqrt[a^2 + b^2 + c^2]] && GCD[a, b, c] == 1, {a, b, c}, Nothing], {a, 999}, {b, a + 1, 1999}, {c, b + 1, 2999}] // Flatten[#, 2] &, {}],
(Boole[IntegerQ[Sqrt[#[[1]]^2 + #[[2]]^2]]] + Boole[IntegerQ[Sqrt[#[[1]]^2 + #[[3]]^2]]] + Boole[IntegerQ[Sqrt[#[[2]]^2 + #[[3]]^2]]]) >= 2 &]
{{104, 153, 672}, {117, 520, 756}, {264, 448, 975}, {264, 495, 952}, {333, 644, 2040}, {448, 495, 840}}

代码 4——在代码 3 的答案里寻找至少有 3 组勾股数的。
Select[DeleteCases[Table[If[IntegerQ[Sqrt[a^2 + b^2 + c^2]] && GCD[a, b, c] == 1, {a, b, c}, Nothing], {a, 999}, {b, a + 1, 1999}, {c, b + 1, 2999}] // Flatten[#, 2] &, {}],
(Boole[IntegerQ[Sqrt[#[[1]]^2 + #[[2]]^2]]] + Boole[IntegerQ[Sqrt[#[[1]]^2 + #[[3]]^2]]] + Boole[IntegerQ[Sqrt[#[[2]]^2 + #[[3]]^2]]]) >= 3 &]
{{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}}——无解。

说明:  代码 2,  代码 3,  代码 4 最大的不同就是最后 1 个数不同了!!!
回复 支持 反对

使用道具 举报

发表于 2026-8-24 05:48 | 显示全部楼层










鲍老夫妻教儿有方,鲍丰武务必将鲍老夫妻的这份美德传承发扬下去哟

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

发表于 2026-8-25 18:57 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2026-9-15 05:18 , Processed in 0.082080 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表