admin 管理员组

文章数量: 887017

php 辗转相除法,算法,

用辗转相除法求三个数的最大公约数和最小公倍数

三个数求最大公约数和求最小公倍数,可否用辗转相除法?

例如:

三个数求最大公约数:

先求前两个数的最大公约数a,然后用a和第三个数再求最大公约数b,得到三个数的最大公约数

三个数求最小公倍数:

先求前两个数的最小公倍数c:(第一个数×第二个数)/a

在用c和第三个数求最小公倍数d:(c 乘 第三个数)/b

得到的d就是三个数的最小公倍数

请问这个方法可行吗?

测试过几个数据,得到的最小公倍数是正确的,但是做题的时候两个测试点只通过了一个,请问有木有反例可举?

题:输入三个数,求他们的最小公倍数

代码:

import java.util.Arrays;

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int[] arr = new int[3];

for(int i = 0;i

arr[i] = in.nextInt();

}

Arrays.sort(arr);

//前两个数的公约数

int gy_1 = gy2(arr[0],arr[1]);

//三个数的公约数

int gy_2 = gy2(gy_1,arr[2]);

//开始求前两个数的公倍数

int gb_1 = (arr[0]*arr[1])/gy_1;

int gb_2 = (gb_1*arr[2])/gy_2;

System.out.println(gb_2);

}

//两个数求最大公约数

public static int gy2(int a,int b){

if(b==0) return a;

return gy2(b,a%b);

}

}

相关阅读:

mongo如何导出一个对象数组为excel

vue v-for 列表数据获取完后如何重新渲染

代码里如何更好的连接redis 3.0集群?

typecho 框架部署好之后,访问内页404错误

angular筛选指定状态的数据显示

angular的滚到底部自动加载具体如何操作,求大神帮忙

cookie的跨浏览器存储与读取问题?

react-router渲染不出来

node openssl起https服务 浏览器显示非安全连接 (windows环境)

哪儿有木有

js实现选中checkbox

vue怎么只提交表单中被修改的部分

jquery 如何即时加减计算?

ios后端、android后端是指什么?

对于sql server2008,是不是安装时填对应版本的秘钥比如企业版,安装后的版本就是企业版?

锋利的jq第六章中的AppServ

Javascript/jQuery 如何判断页面已被访问过?

iOS10 跳转后navigationBar 按钮和title消失

nodeJS将ionic写的webapp打包成安卓apk文件,ionic build android无法生成apk文件

下载了一个node项目,用sails lift启动,但是终端一关闭,程序就关了?

本文标签: php 辗转相除法 算法