写一个方法,当传递两个正整数m和n时,如果m和n是共同素数,则返回true。当两个整数没有任何正整数除数期望时,它们是共同素数。
你可以假设m≤n。
public static boolean coPrime( int m, int n) {
if ( m%n == 0){
return true;
}
return false;
}
这是我到目前为止所拥有的。 你怎么意识到他们是共同主席?
答案 0 :(得分:2)
如果他们的GCD是1,你知道两个数字是共同的。
Euclid的算法非常简单直接,可以在两个整数之间找到GCD:
private int gcd(int p, int q) {
if (q == 0) {
return p;
}
return gcd(q, p % q);
}
所以你需要做的就是用你的两个整数调用这个方法,如下所示:
private boolean coprime(int p, int q) {
return (gcd(p, q) == 1);
}
答案 1 :(得分:0)
/* The running time of the function is O(m) - linear */
public static boolean coPrime( int m, int n) {
/* Since m <= n */
int index = 2;
bool is_coprime = true;
while(index <= m){
if(m % index == 0 and n % index == 0){
is_coprime = false;
}
index = index + 1;
}
return is_coprime;
}