C#中的主要因素

Ali*_*iza 13 c# primes prime-factoring

我想在C#2005中创建一个程序来计算给定输入的素因子.我想使用基本和最简单的东西,不需要为它创建方法也不需要为数组等事物创建简单的模数.有没有任何代码满足我的愿望?

这是用于查找简单因子的代码,我需要修改此代码以计算素因子

class Program
{
    static void Main(string[] args)
    {
        int a, b;
        Console.WriteLine("Please enter your integer: ");
        a = int.Parse(Console.ReadLine());
        for (b = 1; b <= a; b++)
        {
            if (a % b == 0)
            {
                Console.WriteLine(b + " is a factor of " + a);
            }
        }
        Console.ReadLine();



    }
}
Run Code Online (Sandbox Code Playgroud)

Vil*_*lx- 40

int a, b;
Console.WriteLine("Please enter your integer: ");
a = int.Parse(Console.ReadLine());
for (b = 2; a > 1; b++)
    if (a % b == 0)
    {
        int x = 0;
        while (a % b == 0)
        {
            a /= b;
            x++;
        }
        Console.WriteLine("{0} is a prime factor {1} times!", b, x);
    }
Console.WriteLine("Th-Th-Th-Th-Th-... That's all, folks!");
Run Code Online (Sandbox Code Playgroud)

适用于我的机器!

  • 超级upvote为我的机器上的工作badget,我偷了这个. (24认同)

Bay*_*ncü 5

public static List<int> Generate(int number)
{
    var primes = new List<int>();

    for (int div = 2; div <= number; div++)
        while (number % div == 0)
        {
            primes.Add(div);
            number = number / div;
        }
    
    return primes;
}
Run Code Online (Sandbox Code Playgroud)

如果您想了解开发步骤,可以在此处观看视频

  • 除数永远不能大于 number / 2,因此您可以通过编写以下代码来优化: for(int div = 2; div&lt;=number / 2; div++){ (3认同)