数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 48|回复: 1

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

[复制链接]
发表于 2026-7-22 12:19 | 显示全部楼层 |阅读模式

       代码输入前置,仅仅改变m,n的数值即可生成完美“欧拉砖 ”   ,有幸遇见砖的体对角线是整数,哈哈,你赢麻啦!哈哈哈…祝你好运!      



import math
from typing import Dict, Any

# ===================== 顶层自定义输入参数区(直接修改 m、n 即可一键重算) =====================
m = 2
n = 1
# ==========================================================================================

class EulerBrickGenerator:
    """
    【嫦娥灵枢合组】欧拉砖参数化生成器(鲍方程母核构造版)
    核心纲领:几何为本体,代数为末体
    构造来源:基于自研P/Q锁死母式迭代生成三维欧拉砖整数族
    输出结构:全部数据封装进self.result字典,支持打印、JSON导出、入库、批量遍历扫描
    """

    def __init__(self, m: int, n: int):
        # 入参强校验:必须正整数且 m > n
        if not (isinstance(m, int) and isinstance(n, int) and m > n > 0):
            raise ValueError(f"参数约束 m > n > 0 且均为正整数,当前输入 m={m}, n={n}")

        self.m = m
        self.n = n

        # 1. 底层母式纯整数运算,全程无浮点中间变量,规避精度漂移
        m2 = m * m
        n2 = n * n
        mn = m * n

        P = 10 * m2 * n2 - 3 * m2 ** 2 - 3 * n2 ** 2
        Q = m2 ** 2 - n2 ** 2

        # 三维棱长生成式(自带绝对值保证正边长)
        x = abs(2 * mn * P)
        y = abs(8 * mn * Q)
        z = abs((m2 - n2) * (m2 + 4 * mn + n2) * (m2 - 4 * mn + n2))

        # 三组面对角平方和
        sum_xy = x * x + y * y
        sum_xz = x * x + z * z
        sum_yz = y * y + z * z
        sum_xyz = sum_xy + z * z

        # 整数开方核验(math.isqrt仅返回整数部分,再二次平方回验是否完全平方数)
        r1 = math.isqrt(sum_xy)
        r2 = math.isqrt(sum_xz)
        r3 = math.isqrt(sum_yz)

        # 代数恒等式兜底断言:本构造必然三条面对角为整数,断言用于捕获极端异常逻辑bug
        assert r1 * r1 == sum_xy, f"母式构造异常:xy面对角非完全平方,sum_xy={sum_xy}"
        assert r2 * r2 == sum_xz, f"母式构造异常:xz面对角非完全平方,sum_xz={sum_xz}"
        assert r3 * r3 == sum_yz, f"母式构造异常:yz面对角非完全平方,sum_yz={sum_yz}"

        # 三边最大公约数,用于判断是否为本原解
        common_gcd = math.gcd(x, math.gcd(y, z))
        is_body_integer = (math.isqrt(sum_xyz) ** 2 == sum_xyz)

        # 2. 结构化数据封装:全部结果收拢进self.result字典,便于对接外部数据管道
        self.result: Dict[str, Any] = {
            "params": (m, n),
            "edges": (x, y, z),
            "face_diagonals": (r1, r2, r3),
            "body_diagonal_sq": sum_xyz,
            "is_body_integer": is_body_integer,
            "is_primitive": (common_gcd == 1),
            "gcd": common_gcd
        }

    def show(self):
        """控制台格式化打印归档结果"""
        res = self.result
        x, y, z = res["edges"]
        r1, r2, r3 = res["face_diagonals"]
        body_sq = res["body_diagonal_sq"]

        print("=" * 65)
        print("【嫦娥灵枢 · 欧拉砖参数化生成归档输出】")
        print("=" * 65)
        print(f"生成母参数    : m = {res['params'][0]}, n = {res['params'][1]}")
        print(f"本原属性标记  : {'✅ 本原欧拉砖' if res['is_primitive'] else f'❌ 派生倍数解 (整体公因子={res["gcd"]})'}")
        print("-" * 65)
        print(f"三维棱长 (x,y,z): ({x}, {y}, {z})")
        print(f"xy平面面对角线 : {r1}")
        print(f"xz平面面对角线 : {r2}")
        print(f"yz平面面对角线 : {r3}")
        print("-" * 65)
        print(f"空间体对角线平方值 : {body_sq}")
        if res["is_body_integer"]:
            print(f"体对角线判定结果 : ✅ 整数闭合【命中完美长方体!重大发现】")
        else:
            print(f"体对角线判定结果 : ❌ 无理数(标准欧拉砖构型)≈ {math.sqrt(body_sq):.12f}")
        print("=" * 65)

if __name__ == "__main__":
    brick = EulerBrickGenerator(m, n)
    brick.show()
发表于 2026-7-22 17:23 | 显示全部楼层
鉴于风花飘飘——鲍丰武在论坛做的都是世人所不能为不能解的,因此,即使是做错了或者闹了笑话,风花飘飘——鲍丰武仍然是英雄,,,
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-22 18:53 , Processed in 0.130487 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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