早教吧 育儿知识 作业答案 考试题库 百科 知识分享

从m中任取n个数编写一个程序需要一个函数,它的功能是从m个数中任意取n个数,并且对于取出的数能索引到它在m中的位置,希望某位高手不吝赐教.这个问题有C(n,m)种情况,对于每种情况都能找到

题目详情
从m中任取n个数
编写一个程序需要一个函数,它的功能是从m个数中任意取n个数,并且对于取出的数能索引到它在m中的位置,希望某位高手不吝赐教.
这个问题有C(n,m)种情况,对于每种情况都能找到在索引.举个例子说,在16个数里找8个数,用rand()%m,并且使这8个数各不相等,但似乎用时间随机只能找到C(8,16)一种情况,要找出所有的情况,那要试很多次,并且这次的组合和上次的组合还不知想不想等?
希望哪个能提供算法,最好是源程序!
▼优质解答
答案和解析
给出A(n,m)和C(n,m)
排列
#include "iostream.h"
int m,n,total;
void Function(int* p,int* flag,int** base,int num)
{
for(int i=0;i