正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数,我来为大家科普一下关于华为三道算法题?以下内容希望对你有帮助!

华为三道算法题(华为在线机试题)

华为三道算法题

题目描述

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。

输入描述:

输入两个正整数A和B。

输出描述:

输出A和B的最小公倍数。

示例1

输入

5 7

输出

35

解题思路

方法一:

求最大公约数有两种方法 更相减损法和辗转相处法 最小公倍数在求出最大公约数后 两个数相乘除以最大公约数就是最小公倍数

更相减损法是拿两个数中的较大值减去较小值,然后在减数、被减数、差之间选取两个较小值继续相减,直到减数和被减数相等,得出的数就是最大公约数。

例://更相减损术:

//8 10

//10 - 8=2

//8 - 2= 6

//6-2=4

//4-2=2

//2==2于是最大公约数就是2

代码

import java.util.Scanner; public class Main{ public static void main(String[] arg){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int a = sc.nextInt(); int b = sc.nextInt(); System.out.println(a * b / result(a,b)); } } public static int result(int a , int b){ if(a < b){ int temp = a; a = b; b = temp; } int k ; while( b != 0){ k = a % b; a = b; b = k; } return a; } }

建议纯手写,华为机试没有任何提示,包括导包!!!

,