70,037
社区成员
发帖
与我相关
我的任务
分享unsigned long p(int a)
{
if(a==0||a==1) return 1;
unsigned long sum=a;
while(a>1)
{
sum=sum*(a-1);
a--;
}
return sum;
}
main()
{
printf("%ld\n",p(12));
// x+2y=100, 求x,y排列共有几种
int y;
int x;
unsigned long type;
// 走法总数
unsigned long type_sum=0;
for(y=0;y<51;y++)
{
x=100-2*y;
type=p(x+y)/p(x)/p(y);
printf("x:%d,y:%d,共%ld种\n",x,y,p(x+y));
type_sum=type_sum+type;
}
printf("共有:%d走法\n",type_sum);
}