题解 | #牛牛的排列数#
牛牛的排列数
https://www.nowcoder.com/practice/9ca1c236cdbf46da9e08e1f510808625
#include <stdio.h> long long Factorial(int n) { //递归会超出时间 //考虑0!为1 if(n == 1 || n == 0) return 1; return n* Factorial(n-1); //转为非递归 // long long sum = 1; // while (n >= 1) // { // sum *= n; // n-- ; // } // return sum; } int main() { int n,m; scanf("%d %d", &n, &m); //排列数A的值就是两个数的阶乘 if(n >= m) //要判断m>n的情况,m = n,(n-m)! == 1 { long long p = Factorial(n)/Factorial(n - m); printf("%lld\n", p); } else { printf("0\n"); } return 0; }