我想问一下这个C语言算法中的m是什么?请看图!

如题所述

第1个回答  2013-10-20
q(n,m) , n 是已知正整数。m 表示把 n 拆分后的序列中的最大 数。
例如:
5 + 1 ( 拆分后的 序 列, 最大 数 m=5, q=1)
4 + 2, 4 + 1 + 1 ( 序列, 最大数 m=4,q=2)
3 + 3, 3 + 2 + 1, 3 + 1 + 1 + 1 (序列,m=3,q=3)
2 + 2 + 2, 2 + 2 + 1 + 1, 2 + 1 + 1 + 1 + 1 (序列,m=2,q=3)
1 + 1 + 1 + 1 + 1 + 1 (序列,m=1,q=1)
--------------------------------------------------------
m==1 或 n==1, 只有一个划分 q(1,1)=1
m==n, q(n,n)=q(n,n-1) + 1
m<n , q(n,m)=q(n,m-1) + q(n-m,m)追问

谢谢,我想问一下那个图里面说n1也是最大的加数这是怎么回事呢?还有我想问一下怎么样才能想到这方法,我一直想不出来,!

追答

n1 指上面的某行。m 指某行内最大。
网上查:正整数划分--放苹果问题。

追问

呃呃谢谢

第2个回答  2013-10-20
M相当于那个6的分解后的11.追问

啊?怎么说?

追答

这种例题通常老师都是一带而过的。

估计你是跳级上的大学。

追问

啊,请问一下,你是怎么想到这些算法的?

追答

谁能想到呀。都是编教材的人想出来的。
主要是让你理解一个思想,这种思想就是算法。
象最基本的查找、排序、电梯响应、以及所有的有策略和思想的东西都称为算法。

这些算法看起来没什么用,也很枯燥,但是会慢慢在你的脑子里留下印象。
然后当你编程的时候,不由自主的就会用到。

追问

好吧!谢谢!

相似回答