组合数的计算

C: 即从a个元素中选取b个元素的组合数。

cpp 复制代码
LL C(int a, int b)
{
    LL res = 1;
    for (int i = a, j = 1; j <= b; i --, j ++ )
        res = res * i / j;
    return res;
}

A: 表示从a个元素中选取b个元素进行排列的情况数。

cpp 复制代码
LL P(int a, int b)
{
    LL res = 1;
    for (int i = a; i > a - b; i--)
    {
        res *= i;
    }
    return res;
}
相关推荐
a187927218318 小时前
【算法】双指针与滑动窗口(二):滑动窗口——吃进、判定、吐出
算法·leetcode·双指针·滑动窗口·原理·模板·算法讲解
铭哥的编程日记8 小时前
从一道 LeetCode Hard 到吃透一类题:加权区间调度「排序 + 二分 + DP」
算法·leetcode·职场和发展
老赵的博客9 小时前
c++面试之从虚函数表到Rtti一次性讲清楚
c++·qt
Navigator_Z9 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
wzdark9 小时前
多维数组在算法设计中的存储映射问题4
算法
傲世仙尊10 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
cvby10 小时前
C++11
开发语言·c++
Phil32310 小时前
多智能体不是越多越好:Google《Towards a Science of Scaling Agent Systems》论文深度解读
算法
6Hzlia10 小时前
【Classic 150 刷题计划】 LeetCode 26. 删除有序数组中的重复项 | C++ 快慢双指针经典模板
c++·算法·leetcode
huang57914711 小时前
基于滑动窗口的流式数据算法优化思路3
算法