找到一个C因子的最小整数?

Moe*_*Moe 1 java numbers factorization

我需要帮助这个方法的tinyFactor

public static int smallestFactor(int C) 此函数将整数C作为其参数,并返回除C之外的最小整数,即C因子.

参数:C - 要素的整数.

前提条件:C必须大于1.

返回:C的最小因子

public class Factor
{       
public static long smallestFactor(int C)
    {   
    for (int i = 2; i*i<= C; i++) 
    {   
        while (C % i == 0) 
        {
         System.out.print(i + " "); 
         C = C / i;
        }
    }
        return C;
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要找到最小的因子,但我不知道该怎么做

ver*_*ald 5

您需要使用if而不是while,i如果找到它则返回.

public static long smallestFactor(int C)
{
    for (int i = 2; i*i<= C; i++) 
    {   
        if (C % i == 0)
        {
            return i;
        }
    }

    return C;
}
Run Code Online (Sandbox Code Playgroud)

您可以进行其他改进,但这应该可以帮助您入门.