标题:整数N分解成几个数的和打印个数并输出数列
只看楼主
xuru1990
Rank: 2
等 级:论坛游民
帖 子:36
专家分:23
注 册:2009-10-28
结帖率:50%
已结贴  问题点数:20 回复次数:2 
整数N分解成几个数的和打印个数并输出数列
int x;
static int a[1000],k=0,t=0;

void prt(){
int i,s=0;
t=0;
for(i=0;i<k;i++)
  s=s+a[i];
if(s==x){
  for(i=0;i<k;i++)
    if(i<k-1) printf("%d+",a[i]);
    else printf("%d",a[i]);
  printf("\n");
  t=1;
  }
}

int q(int n,int m){
int i;
int s1,s2;
if(n==1||m==1){
  for(i=1;i<=n;i++){
    a[k]=1;
    k++;
    }
  prt();
  if(t) k=k-n;
  return 1;
  }
if(n<m) return(q(n,n));
if(n==m) {
  a[k]=n;
  k++;
  prt();
  if(t) k--;
  s1=q(n,m-1);
  return(1+s1);
  }

a[k]=m;
k++;
prt();
if(t) k--;
s2=q(n-m,m);
k--;
s1=q(n,m-1);

return(s1+s2);
}

main(){
a[0]=0;
printf("\nn=");
scanf("%d",&x);
printf("\ntotal=%d",q(x,x));
}


搜索更多相关主题的帖子: 输出 打印 分解 整数 成几 
2009-11-02 13:08
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
得分:7 
不错···
2009-11-05 18:34
xiefeng122
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:126
专家分:139
注 册:2009-4-1
得分:7 
真是···
2009-11-05 23:19



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-290767-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.845215 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved