数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 12741|回复: 27

x+2y+3z+4u=n 正整数解组数的递推公式

[复制链接]
发表于 2018-12-31 19:03 | 显示全部楼层 |阅读模式
用S4(n)表示不定方程x+2y+3z+4u=n正整数解的组数,S4(10)=1,则S4(n)=S4(n-1)+int((n/3-1)*(n/2-2)/8-n/48+1/2)-mod(n,2)*int((n-3)/8) .   int()是取整函数,mod()取余数函数。
 楼主| 发表于 2018-12-31 19:11 | 显示全部楼层
S4(n)        →        递推解
10        →        1
11        →        1
12        →        2
13        →        3
14        →        5
15        →        6
16        →        9
17        →        11
18        →        15
19        →        18
20        →        23
21        →        27
22        →        34
23        →        39
24        →        47
25        →        54
26        →        64
27        →        72
28        →        84
29        →        94
30        →        108
31        →        120
32        →        136
33        →        150
34        →        169
35        →        185
36        →        206
37        →        225
38        →        249
39        →        270
40        →        297
41        →        321
42        →        351
43        →        378
44        →        411
45        →        441
46        →        478
47        →        511
48        →        551
49        →        588
50        →        632
51        →        672
52        →        720
53        →        764
54        →        816
55        →        864
56        →        920
57        →        972
58        →        1033
59        →        1089
60        →        1154
61        →        1215
62        →        1285
63        →        1350
64        →        1425
65        →        1495
66        →        1575
67        →        1650
68        →        1735
69        →        1815
70        →        1906
71        →        1991
72        →        2087
73        →        2178
74        →        2280
75        →        2376
76        →        2484
77        →        2586
78        →        2700
79        →        2808
80        →        2928
81        →        3042
82        →        3169
83        →        3289
84        →        3422
85        →        3549
86        →        3689
87        →        3822
88        →        3969
89        →        4109
90        →        4263
91        →        4410
92        →        4571
93        →        4725
94        →        4894
95        →        5055
96        →        5231
97        →        5400
98        →        5584
99        →        5760
100        →        5952
这是n=100以前的,用递推公式求出的值
 楼主| 发表于 2019-1-1 13:24 | 显示全部楼层
本帖最后由 白新岭 于 2019-1-1 06:34 编辑

S4(n)的通项公式=INT((n/4-1)*(n/3-2)*(n/2-3)/6+(n/4-1)*(n/3-2)/12-n/72+1/2)-MOD(n,2)*INT((n+1)/16),当MOD(n,48)=31时,需+1,当MOD(n,48)=45时,需-1
 楼主| 发表于 2019-1-1 14:37 | 显示全部楼层
通项公式化简=INT((n^3-15n^2+72n-48)/144)-MOD(n,2)*INT((n+1)/16),当MOD(n,48)=31时,需+1,当MOD(n,48)=45时,需-1
发表于 2019-1-1 16:44 | 显示全部楼层
本帖最后由 王守恩 于 2019-1-1 17:08 编辑
白新岭 发表于 2019-1-1 14:37
通项公式化简=INT((n^3-15n^2+72n-48)/144)-MOD(n,2)*INT((n+1)/16),当MOD(n,48)=31时,需+1,当MOD(n ...


你信么?我有通项公式(简单!)
101  →  6136   
123  →  11400   
156  →  23906  
199  →  50688   
365  →  323970     
888  →  4780991  
1234→  12891169   
3456→  285412031     
8765→  4668203270  
发表于 2019-1-2 10:46 | 显示全部楼层
本帖最后由 王守恩 于 2019-1-2 11:16 编辑

你能把 S3 (n) 前面的一些得数告诉我吗(我不需要通项公式)。
你能把 S5 (n) 前面的一些得数告诉我吗(我不需要通项公式)。
你能把 S6 (n) 前面的一些得数告诉我吗(我不需要通项公式)。
............
  S4 (n) 的通项公式我会告诉你的(也许跟别人的不一样)。

可以参考同类帖子 cooooldog《从 1~n 中取 k 个不同的数相加求和,求这个和的末位数等于 0,1,2,…,9 的频数 》。
 楼主| 发表于 2019-1-2 18:48 | 显示全部楼层
你用excel软件,第一列放自然数n(从3开始),你想知道前多少项的值,你就把n排列到多大,然后第二列用INT((n-1)/2)同行置数(即用公式求值),这就是x+2y=n的正整数解的组数;然后在第三列错开3行,用第二列的值+同行第三列的值,往下复制公式就得到,x+2y+3z=n的正整数解的组数,如法炮制,用第四列放S4(n)的值,它有第三列有值的一行开始,错开4行用,用第三列的值加同行第四列的值,往下复制公式,得到S4(n);同理S5(n)有S4(n)错开5行,也就是说Sk(n)的值有Sk-1(n)的值错开k行叠加而得。能理解我说的意思吗?由低阶向高阶一步一步的递推,就得到你想要的数据,如理解不了,你可以把邮箱告诉我,然后我做成excel表给你发过去。
发表于 2019-1-3 14:11 | 显示全部楼层
白新岭 发表于 2019-1-2 18:48
你用excel软件,第一列放自然数n(从3开始),你想知道前多少项的值,你就把n排列到多大,然后第二列用INT( ...

谢谢白新岭 !我明白 ”错位相加“的意思,但我一直做不好。谢谢白新岭 !

我们知道,在同一行里,肯定有一个数是最大的,譬如:
第2列第9行=5,两个一样大时,按数字小的列是最大的。
第3列第19行=27,我想说的是第3列在第10行——19行是最大的。
第4列第32行=169,我想说的是第4列在第20行——32行是最大的。
第5列第49行=1226,我想说的是第5列在第33行——49行是最大的。
第6列第69行=9193,我想说的是第6列在第50行——69行是最大的。
第7列第?行=???,我想说的是第7列在第70行——??行是最大的。
...............
能多来几个?谢谢白新岭 !

点评

发现规律不易,表示出规律更难(指数学公式或关于n,k的函数  发表于 2019-1-3 17:26
发现规律不易,表示出规律更难(指数学公式或关于n,k的函数  发表于 2019-1-3 17:26
发表于 2019-1-5 17:56 | 显示全部楼层
王守恩 发表于 2019-1-3 14:11
谢谢白新岭 !我明白 ”错位相加“的意思,但我一直做不好。谢谢白新岭 !

我们知道,在同一行里,肯 ...


谢谢白新岭 !我明白 ”错位相加“的意思,但我一直做不好。谢谢白新岭 !
我们无法知道一列里最大的数,但我们还是可以知道一行里最大的数。
能多来几个?谢谢白新岭 !

S1(1)  →  1
S1(2)  →  1
S1(3)  →  1 → S2(3)
S1(4)  →  1 → S2(4)
S2(5)  →  2
S2(6)  →  2
S2(7)  →  3
S2(8)  →  3
S2(9)  →  4
S2(10)  →  4 → S3(10)
S2(11)  →  5 → S3(11)
S3(12)  →  7
S3(13)  →  8
S3(14)  →  10
S3(15)  →  12
S3(16)  →  14
S3(17)  →  16
S3(18)  →  19
S3(19)  →  21
S3(20)  →  24
S3(21)  →  27 → S4(21)
S4(22)  →  34
S4(23)  →  39
S4(24)  →  47
S4(25)  →  54
S4(26)  →  64
S4(27)  →  72
S4(28)  →  84
S4(29)  →  94
S4(30)  →  108
S4(31)  →  120
S4(32)  →  136
S4(33)  →  150
S4(34)  →  169
S5(35)  →  192
S5(36)  →  221
S5(37)  →  255
S5(38)  →  291
S5(39)  →  333
S5(40)  →  377
S5(41)  →  427
S5(42)  →  480
S5(43)  →  540
S5(44)  →  603
S5(45)  →  674
S5(46)  →  748
S5(47)  →  831
S5(48)  →  918
S5(49)  →  1014
S5(50)  →  1115
S5(51)  →  1226
S6(52)  →  1360
S6(53)  →  1540
S6(54)  →  1729
S6(55)  →  1945
......
发表于 2019-1-21 16:55 | 显示全部楼层
白新岭 发表于 2019-1-2 18:48
你用excel软件,第一列放自然数n(从3开始),你想知道前多少项的值,你就把n排列到多大,然后第二列用INT( ...


谢谢白新岭 !请验算。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-6-25 04:30 , Processed in 0.087087 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表