C#整数组合

时间:2012-09-22 08:01:51

标签: c# .net integer permutation combinations

我想使用单个整数选择整数组合
就像我有一个数字1234 ..现在我想要的是:1,2,3,4,12,23,34,123,234,1234

请帮助.. ??

2 个答案:

答案 0 :(得分:0)

如果我理解你正确,你想要一个给定字符串的所有子串(在这种情况下是数字1234)。因此,对于长度 n 的字符串,有 n 子串长度为1, n - 1个长度为2的子串,等等,直到一个子串长度 n

鉴于您可以使用两个嵌套循环轻松解决此问题,例如:

public static IEnumerable<int> Foo(int x) {
  string s = x.ToString();
  for (int length = 1; length <= s.Length; length++) {
    for (int i = 0; i + length < s.Length; i++) {
      yield return int.Parse(s.Substring(i, length));
    }
  }
}

(未经测试且可能存在fencepost错误,但您明白了。)

答案 1 :(得分:0)

关于Permutations, Combinations, and Variations using C# Generics

的这篇文章怎么样?

使用代码讨论排列和组合。