整数划分

xiaoxiao2021-02-28  109

//此问题可以看做苹果问题的简化,就是n个苹果放n个盘子,但要考虑到所有情况,还要结合此问题实际。 #include <stdio.h> int fun(int n,int m) { if(n < 1|| m < 1) return 0; if(n == 1||m == 1) return 1; if(n < m) return fun(n,n); if(n == m) return fun(n,m-1)+1; if(n > m) return fun(n,m-1) + fun(n-m,m); } int main(void) { int n,m; scanf("%d",&n); while(n--) { scanf("%d",&m); printf("%d\n",fun(m,m)); } return 0; }
转载请注明原文地址: https://www.6miu.com/read-50305.html

最新回复(0)