验证组合公式
作业已超过截止时间,您无法递交本题目。
题目描述
编写程序验证组合公式\[C(2n,n)=C(n,0)^2+C(n,1)^2+C(n,2)^2+...+C(n,n)^2\]
提示:如何计算组合数?
法一:使用阶乘计算
该方法比较直接,但是使用时需要注意:阶乘的结果较大时可能超过int型变量的存储范围;
可以考虑:long long型、unsigned long long型,它们有着比int(32位)更大的存储空间(64位)
法二:递归公式
\[C(n,m)=C(n-1,m-1)+C(n-1,m)\]
输入格式
输入为1行3个数据。
第一个为n,第二个为1或0,第三个数据为a。数据范围是
\[1<=n<=20,a<=n\]
输出格式
输出为1行1个数据,或两个数据,如果输入的第二个数据为1,则使用左边公式计算出结果并输出,如果输入的第二个数据为0,则使用右边的数据计算出结果并输出。
注意,为了检验是否完成了两个公式,如果输入的第二个数字为0,除了输出等式右边的计算结果,还要输出\(C(n,a)^2\),和前一个数据用一个空格隔开.
样例1
输入
3 1 2
输出
20
样例2
输入
4 0 3
输出
70 16