Factorización Prima De Un Número En C#

En este ejercicio, crearemos un programa en C# que calcula y muestra la factorización prima de un número proporcionado por el usuario. La factorización prima es el proceso de descomponer un número en sus componentes primos más pequeños. El programa dividirá repetidamente el número entre sus factores primos más pequeños hasta que el cociente sea 1. Este ejercicio ayuda a comprender los bucles, la teoría de números y las técnicas eficientes de factorización en C#.



Grupo

Tipos de datos básicos de C#

Objectivo

1. Solicite al usuario que introduzca un número entero.
2. Utilice un bucle para encontrar y extraer los factores primos del número.
3. Muestre los factores como una secuencia de multiplicación.
4. Incluya "1" al final de la factorización para mayor consistencia.
5. Asegúrese de que el programa gestione correctamente las entradas no válidas o negativas.

Escriba un programa en C# que muestre un número (introducido por el usuario) como el producto de sus factores primos. Por ejemplo, 60 = 2 · 2 · 3 · 5

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class Program
{
    static void Main()
    {
        // Ask the user for an integer input
        Console.Write("Enter a number: ");
        int number = Convert.ToInt32(Console.ReadLine());

        // Store the original number for output
        int originalNumber = number;

        // Start displaying the factorization
        Console.Write(originalNumber + " = ");

        // Find and print the prime factors
        bool firstFactor = true;

        // Divide by 2 while it's a factor
        while (number % 2 == 0)
        {
            Console.Write(firstFactor ? "2" : " · 2");
            number /= 2;
            firstFactor = false;
        }

        // Check odd numbers from 3 onwards
        for (int i = 3; i * i <= number; i += 2)
        {
            while (number % i == 0)
            {
                Console.Write(firstFactor ? i.ToString() : " · " + i);
                number /= i;
                firstFactor = false;
            }
        }

        // If a prime number remains (greater than 1), print it
        if (number > 1)
        {
            Console.Write(firstFactor ? number.ToString() : " · " + number);
        }

        // Append " · 1" for formatting consistency
        Console.WriteLine(" · 1");
    }
}

 Output

//Example 1: User enters 60
Enter a number: 60
60 = 2 · 2 · 3 · 5 · 1

//Example 2: User enters 84
Enter a number: 84
84 = 2 · 2 · 3 · 7 · 1

//Example 3: User enters 97 (a prime number)
Enter a number: 97
97 = 97 · 1

Comparte este ejercicio de C#

Practica más ejercicios C# de Tipos de datos básicos de C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..