获得两个随机数(100以内),并放入数组中

public int[] getTwoRandom(){
int[] t = new int[2];
Random rand = new Random();
for(int i=0;i<t.length;i++)
{
t[i] = rand.nextInt(100);
}
return t;
}

1、一般算法,连续整数检测法即从m和n中比较小的数开始一次遍历整数,如果有出现可以同时被m和n整除的数,就是最大公约数

//连续整数检测法
public int getDivisor1(int[] arr){
int t=0;
int i1=0,i2=0;
for(int i=0;i<arr.length;i++){
i1=arr[0];
i2=arr[1];
}
if(i1>i2){
t=i2;
}else{
t=i1;
}
for(int i=t;i>1;i--){
if((i1%i==0)&&(i2%i==0)){
return i;
}
}
return 1;
}

2、欧几里德算法

得到一个大小为2的数组,判断两个数的大小

public int getDivisor2(int[] arr){
int i1=40,i2=50;
/* for(int i=0;i<arr.length;i++){
i1=arr[0];
i2=arr[1];
} */
int temp =0;
if(i1<i2){
temp=i2;
i2=i1;
i1=temp;
}
return gcd(i1,i2);
}

(1)、递归方法

public static int gcd(int m,int n){ //使用递归算法实现

        if(n==0){
return m;
}else{
return gcd(n,m%n);
}
}

(2)、一般循环方法

//使用while循环
public static int gcd1(int m,int n){
int t = m%n;
while(t!=0){
m=n;
n=t;
t=m%n;
}
return n;
}

求两个数的最大公约数(Java)的更多相关文章

  1. c语言实践:求两个数的最大公约数

    我的思路是这样的:比如12和16这两个数.先理解一下概念,什么叫最大公约数.就是12有很多个因数,16也有很多个因数,这两堆因数中有一些重合的因数,在这些重合的因数中找到那个最大的.那么最大公约数一定 ...

  2. python 函数求两个数的最大公约数和最小公倍数

    1. 求最小公倍数的算法: 最小公倍数  =  两个整数的乘积 /  最大公约数 所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下: 2. 求最大公约数算法: 1. 整数A对整数 ...

  3. 求两个数的最大公约数&求N个数的最大公约数

    一.求两个数的最大公约数 如何编程计算N个数的最大公约数(Greatest common divisor)呢?第一想法那便是两两计算,但是往往最简单的想法是不怎么靠谱的.下面用递归来解决.递归有一大好 ...

  4. Java数据结构与算法之---求两个数的最大公约数(欧几里得算法)

    一个简单的小算法来获取两个数的最大公约数, public class Test { public static void main(String[] args) { long result = gcd ...

  5. C++中用辗转相除法求两个数的最大公约数和最小公倍数

    两个数的最大公约数:不能大于两个数中的最小值,算法口诀:小的给大的,余数给小的,整除返回小的,即最大公约数,(res=max%min)==0?  max=min,min=res return min; ...

  6. 求两个数的最大公约数(Euclid算法)

    求两个数 p 和 q 的最大公约数(greatest common divisor,gcd),利用性质 如果 p > q, p 和 q 的最大公约数 = q 和 (p % q)的最大公约数. 证 ...

  7. C++扬帆远航——14(求两个数的最大公约数)

    /* * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:gongyueshu.cpp * 作者:常轩 * 微信公众号:W ...

  8. C实现辗转相除法求两个数的最大公约数

    什么是辗转相除法? 辗转相除法(又名欧几里德算法),它主要用于求两个正整数的最大公约数.是已知的最古老的算法. 用辗转相除法求132和72的最大公约数的步骤: 132 / 72 = 1 ... 60 ...

  9. 求两个数的最大公约数和最小公倍数Java(cvte考题)

    //最大公约数 最小公倍数 通过测试 public class GongYue{ public static int gongyue(int m, int n) throws Exception{ i ...

随机推荐

  1. javascript 正则表达式基础知识汇总

    正则表达式:对字符串中的信息实现查找.替换和提取操作.(不支持注释和空白,必须写在一行内)正则表达式的创建:包含在一对斜杠之间的字符(直接量语法)例如:var pattern = /s$/;     ...

  2. 记32位程序(使用3gb用户虚拟内存)使用D3DX9导致的一个崩溃的问题

    为了增加32位程序的用户虚拟内存的使用量,我们使用了/LARGEADDRESSAWARE编译选项来使32位程序可能使用到3gb的内存,能否使用到3gb内存也跟平台.系统和设置有关系,现摘抄部分作为参考 ...

  3. 源码安装nginx以及平滑升级

                                                           源码安装nginx以及平滑升级                               ...

  4. Opencv读取各种格式图片,在TBitmap上面重绘

    //opencv读取图片 cv::Mat image; //const char *fileName = "HeadImage-UI/Photo-001.bmp"; const c ...

  5. poj1703 Find them, Catch them 并查集

    poj(1703) Find them, Catch them Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 26992   ...

  6. Ubuntu 16.04 LTS Final Beta

    期待已久的Ubuntu  LTS 版本开放了公测版本 Ubuntu 16.04 (Xenial Xerus) Daily Build(http://cdimage.ubuntu.com/daily-l ...

  7. geotools

    http://blog.tigerlihao.cn/2010/01/geotools-based-web-map-service.html

  8. BI (商业智能)

    BI (商业智能) 编辑 商业智能(BI,Business Intelligence). BI(Business Intelligence)即商务智能,它是一套完整的解决方案,用来将企业中现有的数据进 ...

  9. CSS3 Transform Matrix

    css3中的transform让我们操作变形变得很简单,诸如,translate–移动,scale–缩放,rotate–旋转,skew–斜切.这几个属性很方便,也很简单,但是其中matrix我们就不常 ...

  10. Mysql索引总结(一)

    数据库开发中索引的使用占了很重要的位置,好的索引会使数据库的读写效率加倍,烂的索引则会拖累整个系统甚至引发灾难. 索引分三类: index ----普通的索引,数据可以重复 unique ----唯一 ...