N!

给出两个数 n, m。求 3748-1 和 3748-2

计算公式:

3748-3

输入:

输入数据有多组(数据组数不超过 250),到 EOF 结束。

对于每组数据,输入两个用空格隔开的整数 n, m (0 <= m <= n <= 20) 。

输出:

对于每组数据输出一行, 3748-1 和 3748-2,用空格隔开。

提醒:因为n!和 m! 数据较大,定义数据类型应用 long long int,输出格式%lld

例:

输入:

1 1 

5 3

4 3

输出:

1 1

60 10

24  4

 

#include <stdio.h>
#include <stdlib.h>
long long int f(m)
{
long long int x=1;
int i;
for(i=1;i<=m;i++)
{
x=x*i;
}
return x;
}//定义求某个数的阶乘。
int main()
{
int n,m;
long long int a,c;
while(~scanf("%d %d",&n,&m))
{
a=f(n)/f(n-m);
c=f(n)/(f(n-m)*f(m));
printf("%lld %lld\n",a,c);
}
return 0;
}

 

posted @ 2019-11-25 20:36  Ci-emodo  阅读(259)  评论(0)    收藏  举报