簡體   English   中英

計算JAVA中數字的相對Prime?

[英]Calculating a relative Prime of a number in JAVA?

我的工作中,我已經計算出了許多類型的程序long ,根據我的算法應用一些計算之后。 現在,我必須找到我生成的這個數字的相對素數。 我怎樣才能做到這一點? 我知道如果兩個數字是相對質數,那么它們的GCD == 1但在這種情況下我沒有另一個數字。 我只有一個數字在我的程序中生成,我需要計算這個數字的相對素數。

編輯

生成相對素數的條件是這樣的:

1 < relative prime < generated Number

任何幫助表示贊賞。

獲得相對素數的簡單方法:

現在,我必須找到這個數字的相對素數

對於整數n ,其中n>2nn-1總是相對素數。 所以假設n不是2或更小,只需要輸出n-1 ,因為它保證相對素數。 如果n等於2,那么你的條件是不可能的。

非平凡的相對素數

如果你想要一個非平凡的解決方案,你總是可以實際計算GCD。 使用Euclid的方法如下:

long findGCD(long l1, long l2) {
    //end recursion
    if(l2 == 0){
        return number1;
    }
    return findGCD(l2, l1%l2);
}

並使用while循環嘗試從n+2開始的所有數字,直到得到GCD為1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM