数学高手进来看看

2024-12-29 19:49:37
推荐回答(6个)
回答1:

为了叙述的需要,特定义一种表示 n(a,b,c)
a 代表 数字的个数
b 代表 这a个数中的最大者
c 代表 这a个数之和
n 代表 a个数中以为b最大的情况下,可以使这a个数之和为c 的组合数。

设本问题所求组合数为N。则
N=n(7,30,130)+n(7,29,130)+n(7,28,130)+n(7,27,130)+n(7,26,130)+n(7,25,130)+n(7,24,130)+n(7,23,130)+n(7,22,130)
注意:
第一,在计算 n(7,29,130)时,已不需要考虑 30 这个数字了,因为如果再考虑,就会与 n(7,30,130)发生重复。余此类推,计算 n(7,28,130)时不需要考虑30、29,计算 n(7,27,130)时不需要考虑30、29、28。……
第二,n(7,b≤21,130)=0,因为 从1~~22中任意取7个数,其最大值只能为21+20+19+18+17+16+15=7×18=126,已经达不到130了。

下面要对 N 表达式中的各项进行分别计算。
n(7,30,130)=n(6,29,100)+n(6,28,100)+……+n(6,20,100)
n(7,29,130)=n(6,28,101)+n(6,27,101)+……+n(6,20,101)
n(7,28,130)=n(6,27,102)+n(6,26,102)+……+n(6,20,102)
n(7,27,130)=n(6,26,103)+n(6,25,103)+……+n(6,20,103)
n(7,26,130)=n(6,25,104)+n(6,24,104)+……+n(6,20,104)
n(7,25,130)=n(6,24,105)+n(6,23,105)+……+n(6,20,105)
n(7,24,130)=n(6,23,106)+n(6,22,106)+n(6,21,106)
n(7,23,130)=n(6,22,107)+n(6,21,107)
n(7,22,130)=n(6,21,108)

接下来再对上面等式中等号右侧的各项进行计算。虽然麻烦,但思路上已经很清晰。
n(6,29,100)=n(5,28,71)+n(5,27,71)+……+n(5,17,71)
n(6,28,100)=n(5,27,72)+n(5,26,72)+……+n(5,17,72)
n(6,27,100)=n(5,26,73)+n(5,25,73)+……+n(5,17,73)
n(6,26,100)=n(5,25,74)+n(5,24,74)+……+n(5,17,74)
n(6,25,100)=n(5,24,75)+n(5,23,75)+……+n(5,17,75)
n(6,24,100)=n(5,23,76)+n(5,22,76)+……+n(5,18,76)
n(6,23,100)=n(5,22,77)+n(5,21,77)+……+n(5,18,77)
n(6,22,100)=n(5,21,78)+n(5,20,78)+……+n(5,18,78)
n(6,21,100)=n(5,20,79)+n(5,19,79)+n(5,18,79)
n(6,20,100)=n(5,19,80)+n(5,18,80)
n(6,28,101)=n(5,27,73)+n(5,26,73)+……+n(5,17,73)
n(6,27,101)=n(5,26,74)+n(5,25,74)+……+n(5,17,74)
n(6,26,101)=n(5,25,75)+n(5,24,75)+……+n(5,17,75)
n(6,25,101)=n(5,24,76)+n(5,23,76)+……+n(5,18,76)
n(6,24,101)=n(5,23,77)+n(5,22,77)+……+n(5,18,77)
n(6,23,101)=n(5,22,78)+n(5,21,78)+……+n(5,18,78)
n(6,22,101)=n(5,21,79)+n(5,20,79)+……+n(5,18,79)
n(6,21,101)=n(5,20,80)+n(5,19,80)+n(5,18,80)
n(6,20,101)=n(5,19,81)
n(6,27,102)=n(5,26,75)+n(5,25,75)+……+n(5,17,75)
n(6,26,102)=n(5,25,76)+n(5,24,76)+……+n(5,18,76)
n(6,25,102)=n(5,24,77)+n(5,23,77)+……+n(5,18,77)
n(6,24,102)=n(5,23,78)+n(5,22,78)+……+n(5,18,78)
n(6,23,102)=n(5,22,79)+n(5,21,79)+……+n(5,18,79)
n(6,22,102)=n(5,21,80)+n(5,20,80)+……+n(5,18,80)
n(6,21,102)=n(5,20,81)+n(5,19,81)
n(6,20,102)=n(5,19,82)
n(6,26,103)=n(5,25,77)+n(5,24,77)+……+n(5,18,77)
n(6,25,103)=n(5,24,78)+n(5,23,78)+……+n(5,18,78)
n(6,24,103)=n(5,23,79)+n(5,22,79)+……+n(5,18,79)
n(6,23,103)=n(5,22,80)+n(5,21,80)+……+n(5,18,80)
n(6,22,103)=n(5,21,81)+n(5,20,81)+n(5,19,81)
n(6,21,103)=n(5,20,82)+n(5,19,82)
n(6,20,103)=n(5,19,83)
n(6,25,104)=n(5,24,79)+n(5,23,79)+……+n(5,18,79)
n(6,24,104)=n(5,23,80)+n(5,22,80)+……+n(5,18,80)
n(6,23,104)=n(5,22,81)+n(5,21,81)+……+n(5,19,81)
n(6,22,104)=n(5,21,82)+n(5,20,80)+n(5,19,82)
n(6,21,104)=n(5,20,83)+n(5,19,83)
n(6,20,104)=n(5,19,84)
n(6,24,105)=n(5,23,81)+n(5,22,81)+……+n(5,19,81)
n(6,23,105)=n(5,22,82)+n(5,21,82)+……+n(5,19,82)
n(6,22,105)=n(5,21,83)+n(5,20,83)+n(5,19,83)
n(6,21,105)=n(5,20,84)+n(5,19,84)
n(6,20,105)=n(5,19,85)
n(6,23,106)=n(5,22,83)+n(5,21,83)+……+n(5,19,83)
n(6,22,106)=n(5,21,84)+n(5,20,84)+n(5,19,84)
n(6,21,106)=n(5,20,85)+n(5,19,85)
n(6,22,107)=n(5,21,85)+n(5,20,85)+n(5,19,85)
n(6,21,107)=n(5,20,86)
n(6,21,108)=n(5,20,87)

再第二轮对以上等号右侧各项目计算。这题到此可真麻烦,但我也关心结果,想算下去。
n(5,28,71)=n(4,27,43)+n(4,26,43)+……+n(4,13,43)
n(5,27,71)=n(4,26,44)+n(4,25,44)+……+n(4,13,44)
n(5,26,71)=n(4,25,45)+n(4,24,45)+……+n(4,13,45)
n(5,25,71)=n(4,24,46)+n(4,23,46)+……+n(4,13,46)
n(5,24,71)=n(4,23,47)+n(4,22,47)+……+n(4,14,47)
n(5,23,71)=n(4,22,48)+n(4,21,48)+……+n(4,14,48)
n(5,22,71)=n(4,21,49)+n(4,20,49)+……+n(4,14,49)
n(5,21,71)=n(4,20,50)+n(4,19,50)+……+n(4,14,50)
n(5,20,71)=n(4,19,51)+n(4,18,51)+……+n(4,15,51)
n(5,19,71)=n(4,18,52)+n(4,17,52)+……+n(4,15,52)
n(5,18,71)=n(4,17,53)+n(4,16,53)+n(4,15,53)
n(5,17,71)=n(4,16,54)+n(4,15,54)
n(5,27,72)=n(4,26,45)+n(4,25,45)+……+n(4,13,45)
n(5,26,72)=n(4,25,46)+n(4,24,46)+……+n(4,13,46)
n(5,25,72)=n(4,24,47)+n(4,23,47)+……+n(4,14,47)
n(5,24,72)=n(4,23,48)+n(4,22,48)+……+n(4,14,48)
n(5,23,72)=n(4,22,49)+n(4,21,49)+……+n(4,14,49)
n(5,22,72)=n(4,21,50)+n(4,20,50)+……+n(4,14,50)
n(5,21,72)=n(4,20,51)+n(4,19,51)+……+n(4,15,51)
n(5,20,72)=n(4,19,52)+n(4,18,50)+……+n(4,15,52)
n(5,19,72)=n(4,18,53)+n(4,17,53)+……+n(4,15,53)
n(5,18,72)=n(4,17,54)+n(4,16,54)+n(4,15,54)
n(5,17,72)=n(4,16,55)

如此下去,需要算的越来越多。我坚持不住这么大的计算量了。只提供给你这个思路吧。
希望有更简捷的思路,我也学习学习。

回答2:

这个题目说难也难不难也不难

该问题等价于以下几类问题:
1、整数拆分,那么这个题目就是130的7阶无序拆分。
2、集合的剖分,也就是把一个130个元素的几何剖分成7个子集。
3、分配问题,也就是把130个相同的东西分配到7个相同的盒子,不允许有空。
4、多项式展开系数问题。

以上4个等价问题,在组合数学教材(大学教材,不是高中的)里都有详细的介绍,公式写起来也比较麻烦,而且本人也记得不准确,搂主查一下数就可以了。有空我也帮你计算一下。

回答3:

#include "iostream.h"
void main()
{
int a[7],sum=0;
for(a[0]=1;a[0]<=30;a[0]++)
for(a[1]=a[0]+1;(a[1]<=130-a[0])&&(a[1]<=30);a[1]++)
for(a[2]=a[1]+1;(a[2]<=130-a[0]-a[1])&&(a[2]<=30);a[2]++)
for(a[3]=a[2]+1;(a[3]<=130-a[0]-a[1]-a[2])&&(a[3]<=30);a[3]++)
for(a[4]=a[3]+1;(a[4]<=130-a[0]-a[1]-a[2]-a[3])&&(a[4]<=30);a[4]++)
for(a[5]=a[4]+1;(a[5]<=130-a[0]-a[1]-a[2]-a[3]-a[4])&&(a[5]<=30);a[5]++)
{
a[6]=130-a[0]-a[1]-a[2]-a[3]-a[4]-a[5];
if((a[6]>a[5])&&(a[6]<=30)) sum++;
}
cout<}
输出结果23266

回答4:

为了叙述的需要,特定义一种表示 n(a,b,c)
a 代表 数字的个数
b 代表 这a个数中的最大者
c 代表 这a个数之和
n 代表 a个数中以为b最大的情况下,可以使这a个数之和为c 的组合数。

设本问题所求组合数为N。则
N=n(7,30,130)+n(7,29,130)+n(7,28,130)+n(7,27,130)+n(7,26,130)+n(7,25,130)+n(7,24,130)+n(7,23,130)+n(7,22,130)
注意:
第一,在计算 n(7,29,130)时,已不需要考虑 30 这个数字了,因为如果再考虑,就会与 n(7,30,130)发生重复。余此类推,计算 n(7,28,130)时不需要考虑30、29,计算 n(7,27,130)时不需要考虑30、29、28。……
第二,n(7,b≤21,130)=0,因为 从1~~22中任意取7个数,其最大值只能为21+20+19+18+17+16+15=7×18=126,已经达不到130了。

下面要对 N 表达式中的各项进行分别计算。
n(7,30,130)=n(6,29,100)+n(6,28,100)+……+n(6,20,100)
n(7,29,130)=n(6,28,101)+n(6,27,101)+……+n(6,20,101)
n(7,28,130)=n(6,27,102)+n(6,26,102)+……+n(6,20,102)
n(7,27,130)=n(6,26,103)+n(6,25,103)+……+n(6,20,103)
n(7,26,130)=n(6,25,104)+n(6,24,104)+……+n(6,20,104)
n(7,25,130)=n(6,24,105)+n(6,23,105)+……+n(6,20,105)
n(7,24,130)=n(6,23,106)+n(6,22,106)+n(6,21,106)
n(7,23,130)=n(6,22,107)+n(6,21,107)
n(7,22,130)=n(6,21,108)

接下来再对上面等式中等号右侧的各项进行计算。虽然麻烦,但思路上已经很清晰。
n(6,29,100)=n(5,28,71)+n(5,27,71)+……+n(5,17,71)
n(6,28,100)=n(5,27,72)+n(5,26,72)+……+n(5,17,72)
n(6,27,100)=n(5,26,73)+n(5,25,73)+……+n(5,17,73)
n(6,26,100)=n(5,25,74)+n(5,24,74)+……+n(5,17,74)
n(6,25,100)=n(5,24,75)+n(5,23,75)+……+n(5,17,75)
n(6,24,100)=n(5,23,76)+n(5,22,76)+……+n(5,18,76)
n(6,23,100)=n(5,22,77)+n(5,21,77)+……+n(5,18,77)
n(6,22,100)=n(5,21,78)+n(5,20,78)+……+n(5,18,78)
n(6,21,100)=n(5,20,79)+n(5,19,79)+n(5,18,79)
n(6,20,100)=n(5,19,80)+n(5,18,80)
n(6,28,101)=n(5,27,73)+n(5,26,73)+……+n(5,17,73)
n(6,27,101)=n(5,26,74)+n(5,25,74)+……+n(5,17,74)
n(6,26,101)=n(5,25,75)+n(5,24,75)+……+n(5,17,75)
n(6,25,101)=n(5,24,76)+n(5,23,76)+……+n(5,18,76)
n(6,24,101)=n(5,23,77)+n(5,22,77)+……+n(5,18,77)
n(6,23,101)=n(5,22,78)+n(5,21,78)+……+n(5,18,78)
n(6,22,101)=n(5,21,79)+n(5,20,79)+……+n(5,18,79)
n(6,21,101)=n(5,20,80)+n(5,19,80)+n(5,18,80)
n(6,20,101)=n(5,19,81)
n(6,27,102)=n(5,26,75)+n(5,25,75)+……+n(5,17,75)
n(6,26,102)=n(5,25,76)+n(5,24,76)+……+n(5,18,76)
n(6,25,102)=n(5,24,77)+n(5,23,77)+……+n(5,18,77)
n(6,24,102)=n(5,23,78)+n(5,22,78)+……+n(5,18,78)
n(6,23,102)=n(5,22,79)+n(5,21,79)+……+n(5,18,79)
n(6,22,102)=n(5,21,80)+n(5,20,80)+……+n(5,18,80)
n(6,21,102)=n(5,20,81)+n(5,19,81)
n(6,20,102)=n(5,19,82)
n(6,26,103)=n(5,25,77)+n(5,24,77)+……+n(5,18,77)
n(6,25,103)=n(5,24,78)+n(5,23,78)+……+n(5,18,78)
n(6,24,103)=n(5,23,79)+n(5,22,79)+……+n(5,18,79)
n(6,23,103)=n(5,22,80)+n(5,21,80)+……+n(5,18,80)
n(6,22,103)=n(5,21,81)+n(5,20,81)+n(5,19,81)
n(6,21,103)=n(5,20,82)+n(5,19,82)
n(6,20,103)=n(5,19,83)
n(6,25,104)=n(5,24,79)+n(5,23,79)+……+n(5,18,79)
n(6,24,104)=n(5,23,80)+n(5,22,80)+……+n(5,18,80)
n(6,23,104)=n(5,22,81)+n(5,21,81)+……+n(5,19,81)
n(6,22,104)=n(5,21,82)+n(5,20,80)+n(5,19,82)
n(6,21,104)=n(5,20,83)+n(5,19,83)
n(6,20,104)=n(5,19,84)
n(6,24,105)=n(5,23,81)+n(5,22,81)+……+n(5,19,81)
n(6,23,105)=n(5,22,82)+n(5,21,82)+……+n(5,19,82)
n(6,22,105)=n(5,21,83)+n(5,20,83)+n(5,19,83)
n(6,21,105)=n(5,20,84)+n(5,19,84)
n(6,20,105)=n(5,19,85)
n(6,23,106)=n(5,22,83)+n(5,21,83)+……+n(5,19,83)
n(6,22,106)=n(5,21,84)+n(5,20,84)+n(5,19,84)
n(6,21,106)=n(5,20,85)+n(5,19,85)
n(6,22,107)=n(5,21,85)+n(5,20,85)+n(5,19,85)
n(6,21,107)=n(5,20,86)
n(6,21,108)=n(5,20,87)

再第二轮对以上等号右侧各项目计算。这题到此可真麻烦,但我也关心结果,想算下去。
n(5,28,71)=n(4,27,43)+n(4,26,43)+……+n(4,13,43)
n(5,27,71)=n(4,26,44)+n(4,25,44)+……+n(4,13,44)
n(5,26,71)=n(4,25,45)+n(4,24,45)+……+n(4,13,45)
n(5,25,71)=n(4,24,46)+n(4,23,46)+……+n(4,13,46)
n(5,24,71)=n(4,23,47)+n(4,22,47)+……+n(4,14,47)
n(5,23,71)=n(4,22,48)+n(4,21,48)+……+n(4,14,48)
n(5,22,71)=n(4,21,49)+n(4,20,49)+……+n(4,14,49)
n(5,21,71)=n(4,20,50)+n(4,19,50)+……+n(4,14,50)
n(5,20,71)=n(4,19,51)+n(4,18,51)+……+n(4,15,51)
n(5,19,71)=n(4,18,52)+n(4,17,52)+……+n(4,15,52)
n(5,18,71)=n(4,17,53)+n(4,16,53)+n(4,15,53)
n(5,17,71)=n(4,16,54)+n(4,15,54)
n(5,27,72)=n(4,26,45)+n(4,25,45)+……+n(4,13,45)
n(5,26,72)=n(4,25,46)+n(4,24,46)+……+n(4,13,46)
n(5,25,72)=n(4,24,47)+n(4,23,47)+……+n(4,14,47)
n(5,24,72)=n(4,23,48)+n(4,22,48)+……+n(4,14,48)
n(5,23,72)=n(4,22,49)+n(4,21,49)+……+n(4,14,49)
n(5,22,72)=n(4,21,50)+n(4,20,50)+……+n(4,14,50)
n(5,21,72)=n(4,20,51)+n(4,19,51)+……+n(4,15,51)
n(5,20,72)=n(4,19,52)+n(4,18,50)+……+n(4,15,52)
n(5,19,72)=n(4,18,53)+n(4,17,53)+……+n(4,15,53)
n(5,18,72)=n(4,17,54)+n(4,16,54)+n(4,15,54)
n(5,17,72)=n(4,16,55)

如此下去,需要算的越来越多。我坚持不住这么大的计算量了。只提供给你这个思路吧!

回答5:

我算了一下,有N多种,具体多少种数字真的很重要吗?还是先看看下面的对不对再说吧.如果对的话就是28328
1+2+13+27+28+29+30=130
1+2+14+26+28+29+30=130
1+2+15+25+28+29+30=130
1+2+15+26+27+29+30=130
.
.
.
8+14+17+21+22+23+25=130
8+14+18+19+20+21+30=130
8+14+18+19+20+22+29=130
8+14+18+19+20+23+28=130
8+14+18+19+20+24+27=130
8+14+18+19+20+25+26=130
.
.
.
.
.
.
.
.

回答6:

看来,只有我出面来彻底地、终极地解决这个问题了。

第一部分、以前答案的说明。
我仔细研究了以的答案,在下面题目中
http://zhidao.baidu.com/question/21544519.html?quesup1
标准答案的方法是对的,但结果给错了。另外该程序中有一个小错误。
答案应是23266种。

在http://zhidao.baidu.com/question/21535456.html中,已经有人用程序算出了答案,就是23266种,并且没有重复的。

我用程序进行了验证。就是这个答案:23266。

第二部分、非程序的解法。
设任意七个数为a,b,c,d,e,f,g
为了避免重复,不妨设a[假设一]易证。
记法:
设第一个数(最小的数)为a的解法有H(a)个
设第一个数为a,第二个数为b的解法有H(a,b)个
......
依次类推。

容易证明:a≤15
反证法:假设a>15,取最小的数16,最小的序列即为
16+17+18+19+20+21+22=133>130,(由[假设一])
故,得证。

以下证:
H=H(1)+H(2)+H(3)+H(4)+H(5)+H(6)+H(7)+H(8)+H(9)+H(10)+H(11)+H(12)+H(13)+H(14)+H(15)=23266
H(1)=2235
H(2)=2378
H(3)=2500
H(4)=2562
H(5)=2567
H(6)=2474
H(7)=2296
H(8)=2003
H(9)=1635
H(10)=1203
H(11)=780
H(12)=415
H(13)=170
H(14)=43
H(15)=5

先证H(15)=5的情况,因为这种情况最简单的。
当a=15时,S=130-15=115
当b取可能的最小值时,16+17+18+19+20+21=111
离115差4,
也就是说,将4分解成不同的组合,加到原数序上,看有多少种组合。
注意,这里,分解时,必须后面的大于等于前面的数。即不能分解为3,1,理由是[假设一]。
0 0 0 0 0 4
0 0 0 0 1 3
0 0 0 0 2 2
0 0 0 1 1 2
0 0 1 1 1 1
加到数序16 17 18 19 20 21上,即得
16 17 18 19 20 25
16 17 18 19 21 24
16 17 18 19 22 23
16 17 18 20 21 23
16 17 19 20 21 22

加上原来的a=15,即构成所要的数序。
总之,H(15)=5得证。

以下的各项仿此得证,我会在后续答案修改中,陆续给出,不过,证明的方法是有所不同的。
为什么?一是为了证明的简洁。二是我并没有找到将和S分解到n个数的一般方法。

假如,为了证明H(1)=2235,只要证明:
H(1,2)=57
H(1,3)=70
H(1,4)=84
H(1,5)=101
H(1,6)=119
H(1,7)=141
H(1,8)=162
H(1,9)=185
H(1,10)=203
H(1,11)=217
H(1,12)=220
H(1,13)=212
H(1,14)=184
H(1,15)=141
H(1,16)=88
H(1,17)=40
H(1,18)=10
H(1,19)=1
将以上的和加起来即可证H(1)=2235。