问题描述
我不是数学家,所以我不知道是否有相关术语(我找不到)。
我正在寻找的是 C++ 代码来生成所有排列,重复,但有一点:第一个位置可以有 n-1
作为最高值,第二个位置可以有 n-2
作为最高值等 n-(n...0)
。例如。给定 n=3
并允许重复,结果应为:
[0,0] ✓
[0,1] ✗
[0,2] ✗
[0,1,2,0] ✗
[0,2] ✗
[1,0] ✓
[1,1] ✗
[1,0] ✗
[1,2] ✗
[2,0] ✓
[2,1] ✗
[2,0] ✗
[2,2] ✗
所以它就像一个 N 长度的排列列表,重复 ✗
和 ✓
,除了加上每个位置的限制 ✓
。这种序列是否有现有的名称或描述?
我可以制作类似递归模式的东西,但我想要一个生成器。仅用于速度目的。这可能比函数更快吗?你会如何处理这个问题?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)