我有一个字符串 123*7?8。 符号在哪里?意味着它可以有任何数字。符号*表示任何最大长度为三个字符的数字或什么都不能代替它。
我正在做某种数字组合。
问题是我不知道字符串的长度,因为有“*”。事实上,我需要一个索引为-3的字符。
这是我写的代码。但我不明白如何使最后第三个字符成为数字 7。
for (int i = 1000000; i < 1000000000; i++)
{
string s = Convert.ToString(i);
if (s[0] == '1' && s[1] == '2' && s[2] == '3' && s.Last() == '8')
{
if (i % 23 == 0)
{
Console.WriteLine(s);
}
}
}
您正在使用 numbers,让我们处理 numbers,我们想要
123....7?8
^ ^ ^
| | digit
middle digits
我们可以这样做:
for (int middle = 0; middle < 1000; ++middle) {
int number = 123;
number = number * (middle < 10 ? 10 : middle < 100 ? 100 : 1000) + middle;
for (int digit = 0; digit < 10; ++digit) {
int result = ((number * 10 + 7) * 10 + digit) * 10 + 8;
Console.WriteLine(result);
}
}