[英]Calculating a relative Prime of a number in JAVA?
我的工作中,我已經計算出了許多類型的程序long
,根據我的算法應用一些計算之后。 現在,我必須找到我生成的這個數字的相對素數。 我怎樣才能做到這一點? 我知道如果兩個數字是相對質數,那么它們的GCD == 1
但在這種情況下我沒有另一個數字。 我只有一個數字在我的程序中生成,我需要計算這個數字的相對素數。
編輯
生成相對素數的條件是這樣的:
1 < relative prime < generated Number
任何幫助表示贊賞。
現在,我必須找到這個數字的相對素數
對於整數n
,其中n>2
, n
和n-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.