??‖?‖?? 2019-11-07 22:40 采纳率: 0%
浏览 225

C语言求组合数 n=13时出现问题,求大佬指出原因

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
#include
int main()
{
unsigned long int c[34],s,x;
int n,j,a,b,i;
while(scanf("%d",&n))
{

if(n c[0]=1;c[n]=1;
for(x=1;x {
b=1;i=x;s=1;a=n;
while(i>0)
{
s*=a;
a--;
b*=i;
i--;
} c[x]=s/b;

    }printf("2^%d=",n);
    for(j=0;j<n;j++)
    {
        printf("%d+",c[j]);
    }
    printf("%d\n",c[n]);
}

}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-08 09:11
    关注

    if(n c[0]=1;c[n]=1;
    先把代码贴正确

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制