第3课:取数组合

潘CSP200十点班

2023-07-05 9:18:54
2023-07-14 22:18:54

信息与公告

组合:从 n 个不同元素中,任取 m 个元素并成一组,叫做从 n 个不同元素中取出 m 个元素的一个组合;

1、组合(不放回):对数组 a 中 n 个数不放回任取 3 次的组合

sort(a+0, a+n); // 可先对数组排序;如果是从大到小排序: sort(a+0,a+n, greater<int>());  
for(inti=0; i<=n-1; i++) // 枚举下标
  for(intj=i+1;j<=n-1; j++)
    for(intk=j+1; k<=n-1; k++)

2、组合(可放回):对数组 a 中 n 个数可放回任取 3 次的组合

sort(a+0, a+n); // 可先对数组排序
for(inti=0; i<=n-1; i++) // 枚举下标
  for(intj=i;j<=n-1; j++)
    for(intk=j; k<=n-1; k++)

另附:质数判断函数,返回结果1表示是质数,0表示不是质数

int f(int x) {
    if (x <= 1)
        return 0;
    for (int i = 2; i <= sqrt(x); i++)
        if (x % i == 0)
            return 0;
    return 1;
}