【发布时间】:2023-03-21 02:30:01
【问题描述】:
我想以连续的方式找到一系列数字的组合。 假设我有一个从 1 到 5 的数字范围,那么我的组合列表将类似于 {1} {2} {3} {4} {5} {1,2} {1,2,3} {1, 2,3,4} {1,2,3,4,5} {2,3} {2,3,4} {2,3,4,5} {3,4} {3,4,5} {4,5}。
但是,我的列表不应包含 {1,3,4,5} {1,5} {2,5} 等组合。它应该包含每组中连续的数字。
我已经通过在列表中添加一个左垫来尝试这个。在这种情况下,它也考虑了非连续集合。
double count = Math.Pow(2, list.Count);
for (int i = 1; i <= count - 1; i++)
{
string str = Convert.ToString(i, 2).PadLeft(list.Count, '0');
for (int j = 0; j < str.Length; j++)
{
if (str[j] == '1')
{
Console.Write(list[j]);
}
}
Console.WriteLine();
}
【问题讨论】:
-
你的问题有道理,但不清楚你为什么突然开始填充字符串...
标签: c# numbers combinations