| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 577 人关注过本帖
标题:整数N分解成几个数的和打印个数并输出数列
取消只看楼主 加入收藏
xuru1990
Rank: 2
等 级:论坛游民
帖 子:36
专家分:23
注 册:2009-10-28
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:0 
整数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
快速回复:整数N分解成几个数的和打印个数并输出数列
数据加载中...
 
   



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

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