C语言题目求解——组合数

2^n=C(n,0)+C(n,1)+…+C(n,n)。其中^表示幂,C(n,x)表示组合数,即C(n,x)=n!/((n-x)!x!)。现在给你n(0<=n<=33),要... 2^n=C(n,0)+C(n,1)+…+C(n,n)。其中^表示幂,C(n,x)表示组合数,即C(n,x)=n!/((n-x)!x!)。现在给你n(0<=n<=33),要你输出2^n的组合数之和的表达式
输入
每行一个整数n,如果n为负数则输入结束。
输出
每行输出一个表达式,表达式格式形似为2^n=C(n,0)+C(n,1)+…+C(n,n)。
Sample Input
2
3
-1
Sample Output
2^2=1+2+1
2^3=1+3+3+1
展开
 我来答
447587096
推荐于2017-09-16 · TA获得超过5047个赞
知道大有可为答主
回答量:2504
采纳率:70%
帮助的人:1197万
展开全部

#include <stdio.h>

int jiecheng(int n)

{

if(n == 1 || n==0)

return 1;

else

return n*jiecheng(n-1);

}

int main()

{

   int n;

int i;

int t;

int count = 0;

while(1)

{

scanf("%d",&n);

if(n == -1)

break;

printf("2^%d=",n);

for(i = 0; i <= n; i++)

{

count ++;

         t = jiecheng(n)/(jiecheng(n-i)*jiecheng(i));

if(count == 0)

printf("%d",t);

else

  printf("+%d",t);

            


}

 

printf("\n");


}

return 0;

}

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式