递归与分治

来源:互联网 发布:网页视频抓取软件排行 编辑:程序博客网 时间:2024/05/16 08:08
#include<stdio.h>/*递归与分治  求一个整数的全部划分数6=66=5+16=4+2 6=4+1+16=3+3 6=3+2+1 6=3+1+16=2+2+2 6=2+2+1+1 6=2+1+1+1+16=1+1+1+1+1+1*/int part(int n,int m){if(m==1) return 1;if(m>n) return part(n,n);if(m==n) return 1+part(n,m-1);if(m>1 && m<n) return part(n,m-1) + part(n-m,m);//难点}int main(){int n;scanf("%d",&n);printf("%d\n",part(n,n));return 0;}

原创粉丝点击