解题思路:用函数写阶乘,然后循环里面用函数之间相乘

注意事项:低数值可以,高的不行

参考代码:

#include<stdio.h>

int fun1(int p)

{

int i;

i=1;

for(;p>=1;p--)

{

i*=p;

}

return i;

}

int fun2(int p)

{

int i;

i=1;

for(;p>=1;p--)

{

i*=p;

}

return i;

}

int fun3(int n,int m)

{

int i;

i=n-m;

int s;

s=1;

for(;i>=1;i--)

{

s*=i;

}

return s;

}

int main()

{

    int n,m,k,i,sum,sum1;

    sum=0;

    while(!(n>=1&&n<10000000000&&k>=1&&k<=1000&&m>=0&&m<=n&&k<=n))

    {

    scanf("%d",&n);

        scanf("%d",&m);

        scanf("%d",&k);

}

int a1,a2,a3,k1;

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

{

a1=fun1(n)/(fun2(i)*fun3(n,i));

a2=fun1(n)/(fun2(m)*fun3(n,m));

//printf(" %dh%d ",a1,a2);

a3=1;

for(k1=k;k1>=1;k1--)

{

a3*=i;

}

sum+=(a1*a2*a3);

}

sum1=sum%999101; 

printf("%d",sum1);

    return 0;

}


 

0.0分

1 人评分

  评论区

6666
2024-09-27 17:31:35
  • «
  • 1
  • »