关于 x^n + 1 形式因式分解的讨论
昨晚一个同学问我立方和分解,突发奇想想到了这个问题。看到网上关于这个问题的许多解答都不是很准确。在此修正一下。
引理一:立方和公式
对于形如 \(a^3 + b^3\) 的式子,有因式分解:
\(a^3 + b^3 = (a + b)(a^2 - ab + b^2)\)
式子两边展开即可证明。
现在考虑 \(x^3 + 1\) 的因式分解,套用立方和公式可知,\(a = x, b = 1\)。因此因式分解可以表示为:
\]
接下来将 \(x\) 的指数扩展到 \(n(n \in \Z^{+})\)。
考虑可以将 \(x^n + 1\) 分解成 \((x^k + 1)(x^{n - k} - x^{n - 2k} + x^{n - 3k} - x^{n - 4k} + \cdots + 1)\),其中 \(k \in \Z^{+}\) 且 \(k | n\)。显然,若 \(k = 1\),对于所有的 \(n\) 都满足 \(k | n\)。
因此可以将 \(x^n + 1\) 分解为 \((x + 1)(x^{n - 1} - x^{n - 2} + x^{n - 3} - x^{n - 4} + \cdots + 1)\)。然而由于 \(\dfrac{n}{1}\) 不一定是奇数,所以最后一位可能出现 \(\pm 1\) 两种情况。其中 \(-1\) 的情况不成立。
引理二:对于 \(x^n + 1\),\(n \in \Z^{+}\) 且 \(n \equiv1 \pmod 2\)(即 \(n\) 为奇数),都有一下因式分解形式:
\(x^n + 1 = (x+1)(x^{n - 1} - x^{n - 2} + x^{n - 3} - x^{n - 4} + \cdots + 1)\)
当然,刚才已经解释过一部分了。
\]
显然,对于 \(n\) 为奇数的情况都有分解。然后有许多文章就断言对于偶数没有分解。这是完全错误的。考虑 \(n = 6\) 的情况。\(x ^ 6 + 1 = (x^2)^3 + 1\)。设 \(a = x^3\),可以对于 \(a^3 + 1\) 因式分解。所以虽然 \(n = 6\) 为偶数,仍然是可以分解的。
引理三:唯一分解定理:
对于任意大于 \(1\) 的正整数,都可以分解为 \(n = p_1^{c_1} p_2^{c_2} \cdots p_k^{c_k}\),且表示方式唯一。(\(p\) 为不相等的质数。
对于 \(n = p_1^{c_1} p_2^{c_2} \cdots p_k^{c_k}\),\((x^n + 1)\) 可以表示为 \(((x^{p_1^{c_1}})^{p_2^{c_2}})^{\cdots p_k^{c_k}} + 1\) 的形式,如果 \(k \ge 2\),必定有一个 \(p\) 为奇数。(因为只有二为偶质数)。那么它可以被分解。
用类似筛法的思想,我们可以发现,大部分 \(n\) 都可以因式分解,当且仅当 \(k = 1\) 且 \(p = 2\) 时,原式没有因式分解。即:
\(n = 2^a, a\in \Z^{+}\) 时,原式没有因式分解。当然,\(n\) 可以等于 \(2, 4, 8, 16, 32 \cdots\)
对于最后的这种情况,并没有想过完整的证明,希望有人来补充。
最后来一个思考题:
对形如 \(2 ^ n - 1\) 的质数,我们称之为“梅森质数”。
对形如 \(2 ^ n + 1\) 的质数,我们称之为“费马质数”。
费马质数的结论之一就是:一个数是费马质数的充分条件为 \(n\) 一定是 \(2\) 的整数次幂。
当然,这与 \(x ^ n + 1\) 的因式分解紧密相关。关于费马质数可以看这里 费马质数
关于 x^n + 1 形式因式分解的讨论的更多相关文章
- ACM-ICPC (10/11)
莫比乌斯 今年的多校比赛,莫比乌斯反演的题目经常出现,但是我们队对于这种题可以说是直接放掉,不是因为没学过,多少了解一些,但是也只是皮毛,导致根本就做不出来,其实想一想,其实次数多了,就可以看出原因了 ...
- Android Contextual Menus之二:contextual action mode
Android Contextual Menus之二:contextual action mode 接上文:Android Contextual Menus之一:floating context me ...
- Java 内存分配全面浅析
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 进入正题前首先要知道的是Java程 ...
- Java内存分配全面浅析
本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 进入正题前首先要知道的是Java程 ...
- TGL站长关于常见问题的回复
问题地址: http://www.thegrouplet.com/thread-112923-1-1.html 问题: 网站配有太多的模板是否影响网站加载速度 月光答复: wp不需要删除其他的模板,不 ...
- 机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gm ...
- Gradient Boost Decision Tree(&Treelink)
http://www.cnblogs.com/joneswood/archive/2012/03/04/2379615.html 1. 什么是Treelink Treelink是阿里集团内部 ...
- Java内存分配全面浅析(转)
原文引自CSDN: 本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个 ...
- Coursera《machine learning》--(6)逻辑回归
六 逻辑回归(Logistic Regression:LR) 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就是由于这个逻辑函数,使得 ...
- 《University Calculus》-chape6-定积分的应用-平面曲线长度
平面曲线的长度: 积分的重要作用体现在处理曲线和曲面. 在这里我们讨论平面中一条用参数形式表达的曲线:x=f(t),y=g(t),a≤t≤b. 如图. y=f(x)形式的弧长计算: 之前我们讨论过平面 ...
随机推荐
- Mybatis-Plus 系列:简介和基本使用
目录 一.简介 二.特性 三.基本使用 1.初始化数据库 2.初始化工程 3.精简 SpringBoot 相关日志 一.简介 官网:https://www.baomidou.com MyBatis-P ...
- Django框架项目之项目基础——项目介绍、需求分析、pip安装源、环境搭建、前台、后台、跨域请求
文章目录 1 路飞学城 1.1 企业的web项目类型 1.2 企业项目开发流程 1.3 立项申请阶段 2. 需求分析 2.1 首页 2.2 登录注册 2.3 课程列表 2.4 课程详情 2.5 购物车 ...
- Django框架——模型层单表操作、模型层多表操作、模型层常用和非常用字段和参数、模型层进阶
文章目录 1 模型层-单表操作 一 ORM简介 二 单表操作 2.1 创建表 1 创建模型 2 更多字段 3 更多参数 4 settings配置 5 增加,删除字段 2.2 添加表纪录 2.3 查询表 ...
- Python网络编程——操作系统基础、网络通信原理、.网络通信实现、DNS域名解析、 网络通信流程
文章目录 一.操作系统基础 二.网络通信原理 2.1 互联网的本质就是一系列的网络协议 2.2 osi七层协议 2.3 tcp/ip五层模型讲解 2.3.1 物理层 2.3.2 数据链路层 2.3.3 ...
- ModelScope
欢迎来到ModelScope平台!本篇文章介绍如何快速开始使用ModelScope平台上的模型,包括所需的基础概念,环境安装,模型推理和训练的快速实践示例. 如何开始# 如果你是新手,想快速体验产品, ...
- 产品代码都给你看了,可别再说不会DDD(七):实体与值对象
这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...
- 传输层协议:TCP/IP协议,UDP的协议
传输层: 定义了⼀些传输数据的协议和端口号( WWW 端口 80 等),如:TCP(传输控制协议,传输效率低,可靠性强,⽤于传输可靠性要求⾼,数据量⼤的数据), UDP(⽤户数据报协议,与 TCP 特 ...
- 【分段传输】c#使用IAsyncEnumerable实现流式分段传输
引言 在使用SSE的时候,前端可以实现流式传输,但是有个问题就是这是一个独占的连接,相当于如果你不手动关闭连接,就会一直请求,一直连接调用接口,而且发送的数据格式也是按照定义好的协议来,而使用c#自带 ...
- IDEA工具第二篇:自定义Java方法注释模板
网上搜索类似的文章有很多,但是一味的复制粘贴总会出现各种奇葩问题,最后然并卵!今天特意自己研究琢磨一下,将最终结果分享给大家,100%亲测可用. 一.说明 想必大家都用过Eclipse的方法注释生成, ...
- 2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1<=i<=N) 现给出K(
2023-10-25:用go语言,假如某公司目前推出了N个在售的金融产品(1<=N<=100) 对于张三,用ai表示他购买了ai(0<=ai<=10^4)份额的第i个产品(1& ...