0

因子を素数のみとして出力するには、これが必要です。

public static void main(String[] args) {

    Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter a number:");
    int theNum = keyboard.nextInt();

    int i;

    System.out.println("\nThe prime factors of " + theNum + " are:");
    for(i=1; i <= theNum/2; i++)

        if(theNum % i == 0)
    {

    System.out.print(i + " ");

    }
    }
}
4

1 に答える 1

0

基本的には素数をチェックするだけです

ここからコピーしたいくつかの素数チェック関数:

boolean isPrime(int n) {
    //check if n is a multiple of 2
    if (n%2==0) return false;
    //if not, then just check the odds
    for(int i=3;i*i<=n;i+=2) {
        if(n%i==0)
            return false;
    }
    return true;
}

isPrime(i)次に、チェックを追加します。

public static void main(String[] args) {
    Scanner keyboard = new Scanner(System.in);
    System.out.println("Enter a number:");
    int theNum = keyboard.nextInt();

    System.out.println("\nThe prime factors of " + theNum + " are:");

    for(int i = 1; i <= theNum / 2; i++)
      if (theNum % i == 0 && isPrime(i))
        System.out.print(i + " ");
}

テスト

于 2013-03-31T21:54:17.413 に答える