1

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

请帮忙..??

4

2 回答 2

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));
    }
  }
}

(未经测试,可能有栅栏错误,但你明白了。)

于 2012-09-22T08:08:59.507 回答
0

这篇关于使用 C# 泛型的排列、组合和变体的文章怎么样?

用代码讨论排列和组合的地方。

于 2012-09-22T08:09:50.817 回答