关于 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)形式的弧长计算: 之前我们讨论过平面 ...
随机推荐
- [知识管理] Obsidian + Remotely Save插件 + 第三方存储/OSS(七牛云)的同步方案
0 序言 在几经选择.对比之后,我选择:Obsidian + Remotely Save插件 + 第三方存储/OSS(七牛云) 的方案来搭建自己的[知识管理系统]. 对比分析知识管理工具的过程,详情参 ...
- 19c上ADG主库sys密码修改会影响备库同步吗?
一套Oracle 19c的ADG集群要修改sys密码,由于之前遇见过11g上sys密码修改导致同步问题的情况,所以改之前特意查了下文档,发现其实12cR2开始,在主库修改密码就会自动同步到备库了,以下 ...
- Atcoder Regular Contest 167
卡 B 下大分了. A. Toasts for Breakfast Party 发现题意是让方差尽可能小,就是让 \(A\) 里的值尽可能接近. 所以从小到大排个序,把 \(A_{N,\dots,N- ...
- 一个类似于Gridster的栅格布局系统Vue组件
哈喽,我是老鱼,一名致力于在技术道路上的终身学习者.实践者.分享者! Vue Grid Layout是一个类似于Gridster的栅格布局系统, 适用于Vue.js,灵感来源于React Grid L ...
- 搞懂Event Loop
本文关键: V8是单线程的 任务队列排队执行 抽出io命令抽出到evenloop线程,消息线程,区别与主线程.(同步和异步) 微任务和宏任务执行顺序 重绘和回流 以上流程无限循环 可以这样理解,一个人 ...
- kubernetes驱逐机制总结
概述 k8s的驱逐机制是指在某些场景下,如node节点notReady.node节点压力较大等,将pod从某个node节点驱逐掉,让pod的上层控制器重新创建出新的pod来重新调度到其他node节点. ...
- JUC并发编程学习笔记(十四)异步回调
异步回调 Future设计的初衷:对将来的某个事件的结果进行建模 在Future类的子类中可以找到CompletableFuture,在介绍中可以看到这是为非异步的请求使用一些异步的方法来处理 点进具 ...
- JavaScript高级程序设计笔记08 对象、类与面向对象编程
对象.类与面向对象编程 对象 一组属性的无序集合 属性 类型 数据属性 value.writable 访问器属性 getter.setter至少有一 定义 .操作符:默认可配置.可枚举.可写(数据属性 ...
- c#中命令模式详解
基本介绍: 命令模式,顾名思义就是将命令抽象化,然后将请求者和接收者通过命令进行绑定. 而命令的请求者只管下达命令,命令的接收者只管执行命令. 从而实现了解耦,请求者和接受者二者相对独立. ...
- Codeforces Round #697 (Div. 3) A~E题解
写在前边 状态及其不佳,很累很困,还好\(unrated\)了 链接:Codeforces Round #697 (Div. 3) A. Odd Divisor 链接:A题链接 题目大意: 判断一个数 ...