有n阶阶梯每步可走1阶或2阶求每一步走法和有多少种走法用C语言编程

(分钟前 更新) 383 5168

最新回答

其实就是数学的排列组合的问题。对排列组合求和。

我就不列出是怎样的排列了,就列出有几类排列组合,还有结果。

include <stdio.h>
include <stdlib.h>

inline long A(int a1,int a2)
{
int r1;
for(int i0;i<a2;i++)
r*a1--;
return r;
}

inline long C(int c1,int c2)
{
double r1;
int nc2c2;
for(int i0;i<c2;i++)
{
r*c1--;
if(nc2>0)r/nc2--;
}
return (long)r;
}

int main()
{
int n;
long sum0;//阶级数,结果 
int max2;//最大2步数
int nums1,nums2;//1的个数,2的个数 
int i;
printf("stairs: 0<n<40\n");
scanf("%d",&n);
if(n%20)
max2n/2;
else
max2(n-1)/2;
printf("max step2:%d\n",max2);
for(i0;i<max2;i++)
{
int temp;
nums2i;
nums1n-nums2*2;
printf("step1:%d,step2:%d\n",nums1,nums2);
tempC(nums1+nums2,nums2);//;sum+C(nums1+nums2,nums1);
printf("ways:%d\n",temp); 
sum+temp; 
}
printf("final ways:%d\n",sum);
return 0;
}
WaimanTong 2024-05-10

扩展回答

热门问答

装修专题

首页 >  有n阶阶梯每步可走1阶或2阶求每一步走法和有多少种走法用C语言编程

其他人还看了

页面运行时间: 0.030324935913086 秒