枚举
package wordhello;
import java.util.Scanner;
public class Wordhello {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int gcd=1;
for(int i=2;i<=a&&i<=b;i++) { //最大公约数肯定比a和b要小
if(a%i==0&&b%i==0) { //当i都能被a和b整除时,将i赋值给gcd,不断执行for循环,直到将满足条件最大的i赋值给gcd(即最大公因数)
gcd=i;
}
}
System.out.println(a+"和"+b+"最大公约数是"+gcd);
}
}
辗转相除法
package wordhello;
import java.util.Scanner;
public class Wordhello {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int oa=a; //因为要执行下面的循环,所以最后a不是最开始键盘输入的a,所以要找个东西存一下
int ob=b;
while(b!=0) {
int r=a%b;
a=b;
b=r;
}
System.out.println(oa+"和"+ob+"最大公约数是"+a);
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)