artition(M, N)<BR>1. if M < 1 or N < 1<BR>2. then Error("输入参数错误")<BR>3. else if M = 1 or N = 1<BR>4. then return 1<BR>5. else if M < N<BR>6. then return Partition(M, M)<BR>7. else if M = N<BR>8. then return (1 + Partition(M, M-1))<BR>9. else<BR>10. return (Partition(M, N-1) + Partition(M-N, N));<BR><BR>请注意,正整数的划分的数目随着M的增加增长的非常快(以指数级增长),所以<BR>不要用较大的整数来测试按照上述算法编写出的程序。<BR>
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |