前言
-
W
h
a
t
What
What??? 这个因式分解的解答,可谓是杂草丛生。
我搜了一下各个发布文章的网站,貌似我这个方法还是很少有人想到的?
分析
- 之前的人一直想把因式分解成下述样式:
x n + 1 = ( x + 1 ) ( x n − 1 − x n − 2 + ⋯ + 1 ) x^n+1=(x+1)(x^{n-1}-x^{n-2}+\cdots+1) xn+1=(x+1)(xn−1−xn−2+⋯+1)
这样一看的话,自然需要 n n n 是奇数,这样最后的值就是正一,而不是负一。 - 但是我们可以分解成如下样式:
( x n + 1 ) = ( x c + 1 ) ( x n − c − x n − 2 c + ⋯ + 1 ) (1) (x^n+1)=(x^{c}+1)(x^{n-c}-x^{n-2c}+\cdots+1) \tag{1} (xn+1)=(xc+1)(xn−c−xn−2c+⋯+1)(1)
这样我们的需求就是: c ∣ n c|n c∣n,并且 n / c n/c n/c 是一个偶数(否则最后一项就是负一了)
从这里也可以看出,因式分解的方式可能有多种。
例子
- 例子1:
1 + x 6 = ( 1 + x 2 ) ( x 4 − x 2 + 1 ) 因 为 6 = 4 + 2 , 4 / 2 是 偶 数 1 + x 8 ≠ ( 1 + x 4 ) ( x 4 − 1 ) 因 为 8 = 4 + 4 , 4 / 4 是 奇 数 1 + x 18 = ( 1 + x 2 ) ( x 16 − x 14 + x 12 − ⋯ + 1 ) 分 解 方 式 一 1 + x 18 = ( 1 + x 6 ) ( x 12 − x 6 + 1 ) 分 解 方 式 二 \begin{aligned} &1+x^6=(1+x^2)(x^4-x^2+1)& 因为 6=4+2,4/2是偶数\\ &1+x^8\ne(1+x^4)(x^4-1)&因为 8=4+4,4/4是奇数\\ &1+x^{18}=(1+x^2)(x^{16}-x^{14}+x^{12}-\cdots +1)&分解方式一\\ &1+x^{18}=(1+x^6)(x^{12}-x^{6}+1)&分解方式二\\ \end{aligned} 1+x6=(1+x2)(x4−x2+1)1+x8=(1+x4)(x4−1)1+x18=(1+x2)(x16−x14+x12−⋯+1)1+x18=(1+x6)(x12−x6+1)因为6=4+2,4/2是偶数因为8=4+4,4/4是奇数分解方式一分解方式二 - 例子2:考虑
1
+
x
12
1+x^{12}
1+x12 ,这里
12 = 11 + 1 11 / 1 是 奇 数 , 不 行 12 = 10 + 2 10 / 2 是 奇 数 , 不 行 12 = 9 + 3 9 / 3 是 奇 数 , 不 行 12 = 8 + 4 8 / 4 是 偶 数 , 可 行 ( 1 + x 12 ) = ( 1 + x 4 ) ( x 8 − x 4 + 1 ) \begin{aligned} &12=11+1&11/1是奇数,不行\\ &12=10+2&10/2是奇数,不行\\ &12=9+3&9/3是奇数,不行\\ &12=8+4&8/4是偶数,可行\\ &(1+x^{12})=(1+x^4)(x^8-x^4+1) \end{aligned} 12=11+112=10+212=9+312=8+4(1+x12)=(1+x4)(x8−x4+1)11/1是奇数,不行10/2是奇数,不行9/3是奇数,不行8/4是偶数,可行
分析2
- 当
n
n
n 为奇数是为什么一定可行?
因为 n = ( n − 1 ) + 1 n=(n-1)+1 n=(n−1)+1,当然 1 ∣ ( n − 1 ) 1|(n-1) 1∣(n−1),且 ( n − 1 ) / 1 (n-1)/1 (n−1)/1 当然是偶数。
分析3
-
1
+
x
4
1+x^4
1+x4 怎么分解:使用上述的方法,发现无法成功拆解。
事实上,这个是可以分解的,且也有人提出过了。
我们设拆解因式为:
( 1 + x 4 ) = ( x 2 + a x + 1 ) ( x 2 + b x + 1 ) = x 4 + ( a + b ) x 3 + ( 2 + a b ) x 2 + ( a + b ) x + 1 (1+x^4)=(x^2+ax+1)(x^2+bx+1)=x^4+(a+b)x^3+(2+ab)x^2+(a+b)x+1 (1+x4)=(x2+ax+1)(x2+bx+1)=x4+(a+b)x3+(2+ab)x2+(a+b)x+1
于是,我们得到方程:
a + b = 0 2 + a b = 0 a+b=0\\ 2+ab=0 a+b=02+ab=0
解得:
a = 2 b = − 2 a=\sqrt 2\\ b=-\sqrt 2 a=2b=−2
得到:
( 1 + x 4 ) = ( x 2 + 2 x + 1 ) ( x 2 − 2 x + 1 ) (2) (1+x^4)=(x^2+\sqrt 2x+1)(x^2-\sqrt 2x+1) \tag{2} (1+x4)=(x2+2x+1)(x2−2x+1)(2) - 也就是说,我们可以设低次项为 ( x 2 + a x + 1 ) (x^2+ax+1) (x2+ax+1),当然这在 n n n 比较大的时候会非常难解。
分析4
- 我们利用程序,判断一下,使用 ( 1 ) (1) (1) 式的情况下,有哪些情况是无法解出来的:
int main()
{
int n = 2000;
for(int i = 4;i <= n;i+=2){
bool can = false;
for(int j = 2;j < i;++j){
int a = j;
int b = i - j;
if(a % b == 0 && (a / b) % 2 == 0){
can = true;
break;
}
}
if(!can)show(i);
}
return 0;
}
- 输出如下:
[ 4 ] ,
[ 8 ] ,
[ 16 ] ,
[ 32 ] ,
[ 64 ] ,
[ 128 ] ,
[ 256 ] ,
[ 512 ] ,
[ 1024 ] ,
- 也就是说,当
n
=
2
k
n=2^k
n=2k 的情况下,
x
n
+
1
x^n+1
xn+1 无法使用上述算法进行分解。
注: 1 + x 2 1+x^2 1+x2 无法分解,我们只考虑为次方 n > = 4 n>=4 n>=4 的偶数 - 注意到 (
2
2
2)式的启发,若
n
=
4
m
n=4m
n=4m ,则有下述拆分方法: 1
1 + x n = 1 + x 4 m = ( x 2 m + 2 x m + 1 ) ( x 2 m − 2 x m + 1 ) 1+x^n=1+x^{4m}=(x^{2m}+\sqrt 2 x^m +1)(x^{2m}-\sqrt 2x^m +1) 1+xn=1+x4m=(x2m+2xm+1)(x2m−2xm+1)
而我们上述无法拆分的情况下,都是 4 4 4 的倍数。
结论
-
1
+
x
n
1+x^n
1+xn 因式分解 (
n
n
n 为大于
2
2
2 的正整数):
若 n = 2 k n=2^k n=2k ,其中 k k k 为正整数,那么 m = 2 k − 2 m=2^{k-2} m=2k−2
1 + x n = ( x 2 m + 2 x m + 1 ) ( x 2 m − 2 x m + 1 ) 1+x^n=(x^{2m}+\sqrt 2 x^m +1)(x^{2m}-\sqrt 2x^m +1) 1+xn=(x2m+2xm+1)(x2m−2xm+1)
否则,则一定可以找到 n = a + b n=a+b n=a+b,其中 a , b a,b a,b 都是正整数,且 a ∣ b a|b a∣b,且 b / a b/a b/a 是偶数,那么可以划分成:
( x n + 1 ) = ( x a + 1 ) ( x n − a − x n − 2 a + ⋯ + 1 ) (x^n+1)=(x^{a}+1)(x^{n-a}-x^{n-2a}+\cdots+1) (xn+1)=(xa+1)(xn−a−xn−2a+⋯+1) - 注:大部分情况下分解方法不唯一。
一定可以划分:没有通过证明的方式,只通过程序在小范围内进行了验证,对于 n < = 1 0 5 n<=10^5 n<=105 情况下都是正确的。
参考
来源百度教育:https://easylearn.baidu.com/edu-page/tiangong/questiondetail?id=1727876699940814542&fr=search ↩︎