Какая программа на C# подсчитывает количество новых чисел, которые могут быть составлены из цифр большого числа? Каковы

  • 39
Какая программа на C# подсчитывает количество новых чисел, которые могут быть составлены из цифр большого числа? Каковы форматы входных и выходных данных?
Игоревич
13
Для решения данной задачи на языке C# можно написать следующую программу:

csharp
using System;

class Program
{
static void Main()
{
// Вводим большое число
Console.WriteLine("Введите большое число:");
string number = Console.ReadLine();

// Создаем множество для хранения всех новых чисел
HashSet newNumbers = new HashSet();

// Генерируем все возможные комбинации из цифр большого числа
GenerateNewNumbers(number, 0, "", newNumbers);

// Выводим количество новых чисел
Console.WriteLine($"Количество новых чисел: {newNumbers.Count}");
}

static void GenerateNewNumbers(string number, int index, string currentNumber, HashSet newNumbers)
{
// Рекурсивно генерируем все возможные комбинации
if (index == number.Length)
{
if (!string.IsNullOrEmpty(currentNumber))
{
newNumbers.Add(int.Parse(currentNumber));
}
return;
}

GenerateNewNumbers(number, index + 1, currentNumber, newNumbers);
GenerateNewNumbers(number, index + 1, currentNumber + number[index], newNumbers);
}
}


Формат входных данных: программа ожидает ввода большого числа с клавиатуры.

Формат выходных данных: программа выведет количество новых чисел, которые могут быть составлены из цифр введенного числа.

Данная программа использует рекурсию для генерации всех возможных комбинаций чисел, составленных из цифр большого числа. Она создает множество, чтобы избежать дубликатов и сохранить только уникальные новые числа.

Вы можете запустить эту программу, введя большое число, и она выведет количество новых чисел для вас.