當前位置:編程學習大全網 - 編程軟體 - 編程中如何將n表示為自然數

編程中如何將n表示為自然數

第壹行定義了函數f(m,n),返回值是表示次數,是整數。

第二行定義了兩個自變量m和n都是整數。

如果(m==1)

返回1;

這意味著如果m等於1,函數的返回值就是1。很明顯,1只能分解成1,也就是只有壹個表達式。

如果(n==1)

返回1;

這意味著如果n等於1,函數的返回值就是1。顯然,m再大,當n為1時,也只能表示為m 1的和,即只有壹個表達式。

如果(m & ltn)

返回f(m,m);

這意味著如果m小於n,則返回值為f(m,m)。如果所有的加數都是自然數,最大的加數不會超過總和,所以當m小於n時,加數壹定小於m..

如果(m==n)

返回1+f(m,n-1);

如果m等於n,返回值是1+f(m,n-1),因為f(m,n)只是m=n比f(m,n-1)多壹個表示。

返回f(m,n-1)+f(m-n,n);

最後還有其他情況,即當m大於n時,此時的表示由兩部分組成,壹部分是f(m,n-1),即最大加數為(n-1)時的表示數;剩下的表示法是最大加數為n的情況,由於加數中至少有壹個n,所以表示法的個數等於剩余數m-n之和,可以表示為不大於n的自然數,根據函數的定義,表示法的個數為f(m-n,n)。

  • 上一篇:水泵使用的變頻器 不知道怎麽操作 請問有知道這款變頻器操作的使用手冊麽
  • 下一篇:我的世界怎麽做空島
  • copyright 2024編程學習大全網