关于 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)形式的弧长计算: 之前我们讨论过平面 ...
随机推荐
- 【解惑】时间规划,Linq的Aggregate函数在计算会议重叠时间中的应用
在繁忙的周五,小悦坐在会议室里,面前摆满了各种文件和会议安排表.她今天的工作任务是为公司安排下周的50个小会议,这让她感到有些头疼.但是,她深吸了一口气,决定耐心地一个一个去处理. 首先,小悦仔细地收 ...
- IDEA2019 Debug傻瓜式上手教程
Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法. Force Step Into (Alt + Shift + F7) ...
- java算法之排序算法大全
①排序 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作.排序算法,就是如何使得记录按照要求排列的方法.排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方 ...
- .netCore 图形验证码,非System.Drawing.Common
netcore需要跨平台,说白点就是放在windows服务器要能用,放在linux服务器上也能用,甚至macos上. 很多时候需要使用到图形验证码,这就有问题了. 旧方案1.引入包 <Packa ...
- Windows10 下载并编译指定版本chromium源码
1.一些信息 Chromium 的官网是 https://www.chromium.org/ Git 仓库是 https://chromium.googlesource.com/chromium/sr ...
- unity UGUI 正交相机实现图片的透视旋转效果
UI透视效果常见的就是绕x轴或y轴旋转,来达到近大远小的效果.正经要做透视UI的话肯定直接用透视相机,如果透视效果用的极少(就一张图)不改动相机类型才按这种思路进行. 最简单直接的想法就是把矩形的图片 ...
- codeforces div1A
A. Circular Local MiniMax 题目翻译:给我们一个数组(循环的也就是1和n是相邻的),我们可以对数组进行任意调序,对于每个数b[i]要求满足b[i] < b[i - 1] ...
- 极速指南:在 SpringBoot 中快速集成腾讯云短信功能
前言 今天分享一个SpringBoot集成腾讯云短信的功能,平常除了工作,很多xdm做自己的小项目都可能用到短信,但自己去看文档挺费劲的,我这边就帮你节省时间,直接把步骤给你列出来,照做就行. 实战 ...
- Windows上使用pm2运行Net Core项目
.net core发布的时候会有一个.exe的文件,使用pm2运行这个文件就可以了. pm2 start xxx.exe --name="xxxx"
- Vue01-简介与入门
Vue 01. 简介 1.1 前端三大框架 目前前端最流行的三大框架: Vue React angular 1.2 Vue简介 Vue (读音 /vjuː/,类似于 view) ,也可以写成Vue.j ...