最大公约数(Greatest Common Divisor)

最大公约数(Greatest Common Divisor)

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

两个数的最大公约数。一个典型的解决方案是欧几里德,叫欧几里德算法。

原理:(m,n)代表m和nGCD,和m>n。然后,(m,n)=(n,m%n)=…..直到余数为0.

码如下面:

public class GCD {
	 public static int gcd(int m, int n){
		 if(m*n<0){
			 return -1;
		 }
		 if(n==0){
			 return m;
		 }
		 if(m==0){
			 return n;
		 }
		 //辗转相除法
		 if(m<n){
			 int temp=m;
			 m=n;
			 n=temp;
		 }
		 int r = m%n;
		 while(r!=0){
			 m=n;
			 n=r;
			 r=m%n;
		 }
		 return n;
	 }
	 public static void main(String[] args){
		 System.out.println(gcd(100, 45));
	 }
}

成绩:5

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116959.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号