【Java与数学】如何确定(x+y+z)^11的展开式有多少项?

【数学思路】

这个问题乍一看不好解决,实际是等差数列的求和问题。

以某项Ax2y^6z^3为例,可以发现xyz的指数部分和是定值11;若x的指数是2,则y和z的指数和是11-2=9。

又以一项Bx8y^2z^1为例,可以发现y的指数受x的指数限制,当x的指数大时,y可取的范围就小;当x的指数小是,y的指数可取的范围就大;至于z的指数,直接等于11减去前两项的指数。

所以当x的指数为0时,y的指数有12种选择(0~11),z是被动跟y的指数跑的,整体就是12种选择;

x的指数为1时,y的指数有11种选择;

x的指数为2时,有的指数有10种选择;

x的指数为n时,y的指数有11-n+1种选择;

......

x的指数为11时,y的指数有1种选择,那就是0,同时z的指数也是0;

其总和Sum=12+10+9+......+1=12*(1+12)/2=6*13=78项。

另有一种说法是说组合数C_13_2也得78,组合里的2好理解,两个隔板分三份,但13怎么得来的呢?它和11间差的2怎么解释?说不通的话只能当拼凑出来的了。


【程序思路一】

把y的指数求和,结果就是项数,用一重循环就能解决问题。

代码:

        int sum=0;
        
        for(int x=0;x<12;x++) {
            int y=11-x+1;
            sum+=y;
        }
        
        System.out.println("sum="+sum);

输出:

sum=78

【程序思路二】

若要输出每一项xyz的指数是几,那么就得用多重循环了。

代码:

        int idx=0;
        
        for(int i=0;i<12;i++) {
            for(int j=0;j<12;j++) {
                for(int k=0;k<12;k++) {
                    if((i+j+k)==11) {
                        String s=String.format("%2d:x^%dy^%dz^%d", ++idx,i,j,k);
                        System.out.println(s);
                    }
                }
            }
        }

输出:

 1:x^0y^0z^11
 2:x^0y^1z^10
 3:x^0y^2z^9
 4:x^0y^3z^8
 5:x^0y^4z^7
 6:x^0y^5z^6
 7:x^0y^6z^5
 8:x^0y^7z^4
 9:x^0y^8z^3
10:x^0y^9z^2
11:x^0y^10z^1
12:x^0y^11z^0
13:x^1y^0z^10
14:x^1y^1z^9
15:x^1y^2z^8
16:x^1y^3z^7
17:x^1y^4z^6
18:x^1y^5z^5
19:x^1y^6z^4
20:x^1y^7z^3
21:x^1y^8z^2
22:x^1y^9z^1
23:x^1y^10z^0
24:x^2y^0z^9
25:x^2y^1z^8
26:x^2y^2z^7
27:x^2y^3z^6
28:x^2y^4z^5
29:x^2y^5z^4
30:x^2y^6z^3
31:x^2y^7z^2
32:x^2y^8z^1
33:x^2y^9z^0
34:x^3y^0z^8
35:x^3y^1z^7
36:x^3y^2z^6
37:x^3y^3z^5
38:x^3y^4z^4
39:x^3y^5z^3
40:x^3y^6z^2
41:x^3y^7z^1
42:x^3y^8z^0
43:x^4y^0z^7
44:x^4y^1z^6
45:x^4y^2z^5
46:x^4y^3z^4
47:x^4y^4z^3
48:x^4y^5z^2
49:x^4y^6z^1
50:x^4y^7z^0
51:x^5y^0z^6
52:x^5y^1z^5
53:x^5y^2z^4
54:x^5y^3z^3
55:x^5y^4z^2
56:x^5y^5z^1
57:x^5y^6z^0
58:x^6y^0z^5
59:x^6y^1z^4
60:x^6y^2z^3
61:x^6y^3z^2
62:x^6y^4z^1
63:x^6y^5z^0
64:x^7y^0z^4
65:x^7y^1z^3
66:x^7y^2z^2
67:x^7y^3z^1
68:x^7y^4z^0
69:x^8y^0z^3
70:x^8y^1z^2
71:x^8y^2z^1
72:x^8y^3z^0
73:x^9y^0z^2
74:x^9y^1z^1
75:x^9y^2z^0
76:x^10y^0z^1
77:x^10y^1z^0
78:x^11y^0z^0

 

END

posted @ 2023-09-13 07:47  逆火狂飙  阅读(152)  评论(0编辑  收藏  举报
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东