m表示為一些不超過n的自然數之和

2021-08-21 13:49:14 字數 745 閱讀 3643

/*

設m,n均為自然數,m可表示為一些不超過n的自然數之和,

f(m,n)為這種表示方式的數目。

例:f(5,3)=5,有五種表示方式:

3+2,3+1+1,2+2+1,2+1+1+1,1+1+1+1+1

*/#include

int f(int m, int n);

int main()

int f(int m, int n)

第一行定義了f(m,n)這個函式,返回值即表示方式的數目,為乙個整數.

第二行定義了m和n這兩個自變數為整數.

if (m==1)

return 1;

這裡是說如果m等於1,則函式的返回值為1,顯然1只能分解為1,也即表示方式只有一種.

if (n==1)

return 1;

這裡是說如果n等於1,則函式的返回值為1,顯然無論m多大,n為1時只能表示為m個1之和,也即表示方式只有一種.

if (m 

再問: 第(3)(4)空還是不懂。 m<n時應該不能表示啊,返回錯誤才對嘛?可以用 f(6,4)講一下過程不?

再答: mm,f(2,3)=f(2,2)。 而當m>n時,比如f(6,4),分成兩類討論:如果最大的加數為3,則按照定義共有f(6,3)種表示方法;而剩下的表示方法中必然有乙個最大的加數4,由於總和為6,因此可知其餘的加數之和為6-4=2,而要使小於等於4的自然數之和等於2,按照函式定義共有f(2,4)種可能性。因此f(6,4)=f(6,3)+f(2,4)。

將n劃分成最大數不超過m的劃分數

之前寫過類似的文章,今天看到另外一種劃分數的方法,也就是將n劃分成不大於m的種數。若是劃分多個整數可以存在相同的 dp n m dp n m 1 dp n m m dp n m 表示整數 n 的劃分中,每個數不大於 m 的劃分數。則劃分數可以分為兩種情況 a.劃分中每個數都小於 m,相當於每個數不大...

自然語言處理的一些工具

斯坦福的corenlp,可以用來entities的提取。關於情感分析 情感分析的詞庫,sentiment word wordnet 是近義詞詞典 sentiwordnet 基於wordnet的,現在已經 3.0了 sentiwords 基於sentiwords的 中文的 情感詞典 1.知網的情感詞典...

Qt Designer的一些不直觀的功能

新版的qt creator 已經整合了 designer的功能。然而,designer雖然是直接操作介面,並不需要你寫多少 但是仍然有一些介面操作不太直觀。通過寫 實現所有功能 和 看過完整使用教程的大神請忽略我 1.調整大小 adjust size 在自定義的介面中,常常有乙個layout,這個l...