21xrx.com
2024-11-22 07:46:30 Friday
登录
文章检索 我的文章 写文章
C语言实现从n个数选出r个数组合
2023-06-17 00:04:41 深夜i     --     --
C语言 数组合 组合 循环 递归

在计算机科学中,组合是一个非常基础的数学概念,它是指从n个元素中选出r个元素的排列方式。在C语言中,我们可以通过编写程序来实现从n中选出r个数字的所有可能的组合方式。首先,我们需要用循环来确定要选出的数字,然后通过递归来找到所有的组合方式。具体实现可以参考下面的代码:


#include

void combination(int arr[], int n, int r, int index, int data[], int i) {

  if(i == r) {

    for(int j=0; j

      printf("%d ", data[j]);

    }

    printf("\n");

    return;

  }

  

  if(index >= n)

    return;

  

  

  data[i] = arr[index];

  combination(arr, n, r, index+1, data, i+1);

  combination(arr, n, r, index+1, data, i);

}

int main() {

  int arr[] = 5;

  int n = sizeof(arr)/sizeof(arr[0]);

  int r = 3;

  int data[r];

  combination(arr, n, r, 0, data, 0);

  return 0;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复