永发信息网

我想从三组或四组里分别取几个数组成一组新的数组

答案:4  悬赏:20  手机版
解决时间 2021-11-08 09:45
  • 提问者网友:富士山上尢
  • 2021-11-07 12:38
我想从三组或四组里分别取几个数组成一组新的数组
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-11-07 14:06
问题描述得不够详细,没有看明白你的要求。 比如:“然后进行组合,重新组合后的数组能不能进行筛选比如2、3、8、9、12、13、15、24、25、里不不会有三个数出现在新组合的数组里 ,数组出来后最好是txt格式。” 是什么意思?表示没看懂。追问就是从几组数里分别取出几个数进行组合,对这些组合还有一些限制,追答最好举例子。追问比如:①: 1、2、3、4 ② :5、6、7、8 ③:9、10、11、12 ④:13、14、15、16 这4组数,从每组数里分别取一个进行组合,这样就会有256种组合,但这256种组合里面任何一种最多只能有1、5、9、13这四个数里的2个数。追答#define  COMBIN_MAX_ARR 4
#define  TARGET_MAX_ARR 4
#define  NOT_EXISTS_ARR 4

inline bool Filter(int combin[], int nt[],int condition){
 int k = 0;
 for (int i = 0; i < COMBIN_MAX_ARR;i++)
 {
  for (int i2 = 0; i2 < NOT_EXISTS_ARR;i2++)
  {
   if (combin[i] == nt[i2]) { 
    k++; 
    break;
   }
  }
 }
 if (k<=condition) return true;
 return false;


追问您确实很专业,非常谢谢你的回答,但我本身不是学计算机专业的,您的这个看的有点懵,我先试试吧。如果想学用计算机对数字排列组合、筛选都需要看那些计算机方面的书籍,还希望您推荐一下。追答就是针对排列与组合来说,只要你会任何一种计算机编程语言均可编写出来。对于排列与组合数,共有以下三种形式:
1、对于从A(n个选取m个进行排列),与顺序有关,这个很容易可以实现直接套用公式,如A(n,m)=n(n-1)(n-2)...(n-m+1)
2、A(n,n) 这种为全排列,相对来说有点难度,解决方案用两种:递归法,字典序法. 通常我选择后者。
3、C(n,m)组合排列,与顺序无关,解决方案有两种:数组法,二进制法。
另外,这些是高中数学(必修)课程,所以跟计算机书籍无关。你只需掌握简单的编程方法就可以了。
全部回答
  • 1楼网友:低血压的长颈鹿
  • 2021-11-07 15:53
组出来后最好是txt格式
  • 2楼网友:长青诗
  • 2021-11-07 15:00
是可以实现的
  • 3楼网友:十年萤火照君眠
  • 2021-11-07 14:32
about I think I should be happier, for
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯