2 条题解

  • 0
    @ 2025-8-21 13:13:08
    from math import comb
    for _ in range(int(input())):
        n, m = map(int, input().split())
        print(comb(n, m))
    
    • 0
      @ 2023-10-13 13:55:09
      #include<stdio.h>
      long long fun(long long n, long long m) 
      {
          if (m > n - m) 
          {
              m = n - m;
      //用于缩减循环次数,否则可能溢出或超时
      //原理见高中数学排列组合
          }
          long long result = 1;
          for (int i = 1; i <= m; i++) {
              result = result * (n - i + 1) / i;
      //排列组合的化简公式,不然容易中途溢出
          }
          return result;
      }
      int main()
      {
          int t;
          scanf("%d",&t);
          while(t--)
          {
              int n,m;
              scanf("%d%d",&n,&m);
              printf("%lld\n",fun(n,m));
          }
          return 0;
      }
      
      • 1

      信息

      ID
      210
      时间
      1000ms
      内存
      128MiB
      难度
      8
      标签
      (无)
      递交数
      1443
      已通过
      176
      上传者