news 2026/5/16 22:07:31

费马大定律代码化和定理《计算机科学中的数学》外扩学习1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
费马大定律代码化和定理《计算机科学中的数学》外扩学习1

前言

  • 《计算机科学中的数学信息与智能时代的必修课》
    • 第1章 什么是证明
      • 1.1 命题
        • 1.15 费马大定律-(又称费马最后定理)
        • xn+yn=znx^{n}+y^{n}=z^{n}xn+yn=zn没有正整数解.

基础算式展开

  • 当n=1时,方程就是x+y=z,显然有无数正整数解(1+2=3)当n=1时,方程就是x+y=z,显然有无数正整数解(1+2=3)n=1,方程就是x+y=z,显然有无数正整数解(1+2=3)
  • 当n=2时,方程就是x+y=z,显然有无数正整数解(32+42=52)当n=2时,方程就是x+y=z,显然有无数正整数解(3^{2}+4^{2}=5^{2})n=2,方程就是x+y=z,显然有无数正整数解(32+42=52)
  • 费马断言,当n≥3时,这样的正整数解不存在费马断言,当n≥3时,这样的正整数解不存在费马断言,n3,这样的正整数解不存在
    • 我们用python代码简单试一下
n=3x=1y=2print(f"x={x},{n}+ y={y},{n}",pow(x,n)+pow(y,n))print(3**n)

从图中可以看到当n≥3的时候,13+23=331^{3}+2^{3}=3^{3}13+23=33是不对的.或者说是无解的

尝试设计复杂代码

我尝试利用while循环来帮助我实现对费马大定律的实现

n=1x=1y=2z=0whilepow(x,n)+pow(y,n)==pow(z,n):print(f"({x}^{n})+({y}^{n})=({z}^{n})")n+=1else:print(f"n={n},费马断言成立")

这个并不是我想要的结果.

用ai分析.问题如下

1. 核心逻辑错误while循环条件初始不成立.

  • 左边的x=1 y=1结果是pow(1,1) + pow(2,1) = 1 + 2 = 3
  • 右边的z=0, 结果是pow(0,1)
  • 条件判断为3==0False
  • 而 while 循环的执行规则是:只有条件为True时,才会进入循环体执行内部代码,因此该循环体(print 和 n += 1)永远不会被执行,直接跳转到else分支输出结果。

我从这个点上想想办法
有点变化

n=1x=1y=2z=x+ywhilepow(x,n)+pow(y,n)==pow(z,n):print(f"({x}^{n})+({y}^{n})=({z}^{n})")n+=1else:print(f"n={n},费马断言成立")

2「概念错误」:费马大定理的条件与变量取值完全错误

  • 费马大定理的核心条件是 n > 2,而代码从 n=1 开始验证,且混淆了 “有解” 与 “无解” 的逻辑:
  • n=1 时,方程 x + y = z 是普通加法,存在无数正整数解(如 1+2=3),与费马大定理无关;
  • n=2 时,方程是勾股定理,存在无数正整数解(如 3²+4²=5²),同样与费马大定理无关;
  • 费马大定理关注的是 n ≥ 3 时,方程无正整数解。
  • 变量 z 取 0 违反 “正整数解” 的要求:费马大定理讨论的是 x、y、z 均为正整数(大于 0 的整数), 而代码中 z=0 不符合定理的前提条件。
n=1#核心条件是大于2,而为1则是普通加法,为2时勾股定理.我们需要的是大于2x=1y=2z=x+y#这段重新修改了,算是可以了

3「逻辑缺陷」:while-else 结构的使用场景错误,逻辑闭环缺失

  • Python 中 while-else 的特性是:else 分支仅在 while 循环条件自然变为 False(未被 break 强制终止)时执行,此处用于验证费马大定理完全不适用。
  • 代码没有对 x、y、z 进行任何更新逻辑:即使循环条件初始成立,循环体内也只更新了 n,x、y、z 始终保持初始值,会导致无限循环(若条件为 True),无法完成多组数值的验证。
n=1x=1y=2z=0#这个初始就是有问题.whilepow(x,n)+pow(y,n)==pow(z,n):print(f"({x}^{n})+({y}^{n})=({z}^{n})")n+=1#这里缺乏x,y的更新逻辑 +=1,会导致无限循环else:#不适用费马定律,print(f"n={n},费马断言成立")

4「语法细节缺陷」:pow() 函数在 n=0 时存在隐含风险

虽未触发,但需注意

  • 若后续代码导致 n 变为 0,pow(0, 0) 在 Python 中会返回 1(数学上无明确定义),而 pow(x, 0) 对任意 x≠0 均返回 1,会导致验证结果失真,但此问题在当前代码中未触发。

利用ai写的代码,学习用,非本人写

# 验证费马大定理:n>2时,x^n + y^n = z^n 无正整数解defverify_fermat_simple(n_start,max_n,max_xyz):""" 简单验证费马大定理(有限范围) :param n_start: 起始指数(建议≥3) :param max_n: 最大指数 :param max_xyz: x、y、z的最大取值(正整数) """# 遍历指定范围的指数nforninrange(n_start,max_n+1):has_solution=False# 遍历所有可能的正整数x、y、zforxinrange(1,max_xyz+1):foryinrange(1,max_xyz+1):forzinrange(1,max_xyz+1):ifpow(x,n)+pow(y,n)==pow(z,n):print(f"找到解:{x}^{n}+{y}^{n}={z}^{n}")has_solution=Truebreakifhas_solution:breakifhas_solution:break# 输出当前n的验证结果ifnothas_solution:print(f"n={n},在x、y、z≤{max_xyz}范围内,费马大定理断言成立")else:print(f"n={n},找到有效解,费马大定理断言不成立(有限范围)")# 调用函数:验证n=3到n=5,x、y、z最大为100if__name__=="__main__":verify_fermat_simple(n_start=3,max_n=5,max_xyz=100)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 3:41:39

2026 网安副业入门:5 个低门槛方向,零基础也能接的第一单

2026 网安副业入门:5 个低门槛方向,零基础也能接的第一单 “学了半个月 Kali,想赚点外快却不知道从哪下手”“怕技术不够接不了单,又怕定价太高没人要”—— 这是 90% 网安新手想做副业时的共同困境。2025 年网安副业市场需求旺盛…

作者头像 李华
网站建设 2026/5/6 9:58:11

Python 爬虫实战:如何优雅地处理带有 JWT 认证的接口提交

目录Python 爬虫实战:如何优雅地处理带有 JWT 认证的接口提交第一章:当爬虫遇上“隐形门卫”——JWT 认证机制解析1.1 什么是 JWT?1.2 为什么爬虫需要特别关注 JWT?1.3 JWT 的“双刃剑”对爬虫的影响第二章:Python 实战…

作者头像 李华
网站建设 2026/5/14 17:21:01

GPT-4自动生成回归测试脚本实践:赋能软件测试新范式

在软件开发生命周期中,回归测试是确保代码更新后核心功能稳定性的关键环节,但其重复性和高成本常成为测试团队的痛点。随着人工智能技术的突破,GPT-4(Generative Pre-trained Transformer 4)作为大型语言模型&#xff…

作者头像 李华
网站建设 2026/5/14 6:36:33

MySQL 8 环境中创建业务相关的数据库和关联表

文章目录 一、连接 MySQL 容器 二、创建数据库(UTF8mb4) 三、创建关联表(带外键,适合多表查询) 四、插入测试数据 五、多表查询核心练习(按场景分类) 场景1:基础内连接(INNER JOIN)—— 查“有订单的用户+订单信息” 场景2:左连接(LEFT JOIN)—— 查“所有用户+订…

作者头像 李华
网站建设 2026/5/14 1:32:44

单片机光伏太阳能锂电池发电手机充电器防过充无线充电输出设计(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

21-041、51单片机光伏太阳能锂电池发电手机充电器防过充无线充电输出设计产品功能描述: 本系统由STC89C52单片机、LCD1602液 晶显示、锂电池充电检测、太阳能发电、锂电池充电保护TP4056、升压稳压、无线充电模块组成。 1、通过太阳能电池板并接给锂电池供电&#x…

作者头像 李华
网站建设 2026/5/13 14:32:56

51单片机地震震动检测语音报警器检测系统131(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码

51单片机地震震动检测语音报警器检测系统131产品功能描述: 本系统由STC89C52单片机、语音模块、短接检测及电源组成。 1、如果两根线短接了,则语音一直报警。除非按下复位按键或者断开电源,则语音不报警。 2、该设备可以作为简单震动报警器或…

作者头像 李华