我需要使用Borland C++ Builder
寫一段有關於演算法的程式
必須求互質數
首先要先將前一段程式所得出的 m
代入程式 GCD(m,e)=1 => m和e的最大公因數為1,也就是m和e互質.
不知有沒有高手能夠幫忙解決.
非常感謝~
這不是作業~而是我的演算法研究~希望老師級的也給點意見~感恩!
2007-01-09 14:07:46 · 2 個解答 · 發問者 KEIGO 1 in 電腦與網際網路 ➔ 程式設計
m由前一段程式求出 然後我目前要求出e
2007-01-09 16:20:49 · update #1
只需要寫一段判斷式即可。
GCD 副程式回傳最大公因數,再由 if 或 ?: 判斷式來判斷回傳值是否為 1。
int GCD(int N1,int N2){
int R;
while(N2!=0){
R=N1%N2;
N1=N2;
N2=R;
}
return N1;
}//輾轉相除法
上述以輾轉相除法為範例。
2007-01-09 15:02:42 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋
要求互質數,既然知道gcd(m,e)=1,那窮舉M跟E就可以
了,不過這樣是求2~n之間的互質數。
你沒說互質數要怎麼來,所以只有這種解答摟。
2007-01-10 08:43:56 補充:
那還是只能用窮舉法做
因為M跟E互質,M固定,E也不只一個
不然就試試下面這個,想想而已,沒試過。
-----------------------
已知M,求M的全部質數,比如說M=6
質數有2、3,只要不是2或3的倍數就能互質了。
試試吧
2007-01-09 14:53:04 · answer #2 · answered by poolqa 3 · 0⤊ 0⤋