N!
给出两个数 n, m。求
和
。
计算公式:

输入:
输入数据有多组(数据组数不超过 250),到 EOF 结束。
对于每组数据,输入两个用空格隔开的整数 n, m (0 <= m <= n <= 20) 。
输出:
对于每组数据输出一行,
和
,用空格隔开。
提醒:因为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;
}

浙公网安备 33010602011771号