В настоящее время я пытаюсь найти тринадцать смежных цифр в 1000-значном числе, которое будет иметь наибольший продукт. Теперь я написал функцию, которая должна умножать желаемое количество смежных цифр, которые нужно умножить и затем сохраните продукт в списке. Два параметра, которые выполняет функция, - это требуемое количество смежных цифр и строки, которая содержит номер. Но по какой-то причине он не перестает работать.Поиск наибольшего продукта в C#
public static void giveProduct(int quantity, string word)
{
int product = 1;
int place1 = 0;
int place2 = quantity - 1;
int temp = 1;
string temp2;
while (place2 < word.Length)
{
for (int i = place1; i < place2; i++)
{
temp2 = word[i].ToString();
temp = Int32.Parse(temp2);
product = product * i;
}
products.Add(product);
product = 1;
place1 += quantity;
place2 += quantity;
}
}
@rboe Почему это произойдет, если количество '1'? – InBetween
Ваша программа не делает то, что должно быть. Возьмите номер 1234567 и количество 3. Затем вы проверяете 123 и 456, но никогда не найдете правильный ответ 567. И вы никогда не используете temp; он должен быть product = product * temp. – Nebr
@InBetween - вы правы - было слишком рано утром для моего комментария. –