零时迷子 2011-11-03 03:07:00
点我顶贴
收藏
删除
#include<stdio.h>
02.void search(int k,int max);
03.int n,sum=0;
04.int main()
05.{int i;
06.scanf("%d",&n);
07.for(i=1;i<=n;i++)
08.search(n-i,i);
09.printf("%d",sum-1);
10.return 0;
11.}
12.void search(int k,int max)
13.{int i;
14.if(k==0)
15.{sum++;
16.return;}
17.if(k<max+1&&k!=0)
18.return;
19.for(i=max+1;i<=k;i++)
20.search(k-i,i);}
用个函数search暴搜时间长但是本人动归技术很渣凑合看吧AC了