黑马程序员技术交流社区
标题:
求最小公倍数
[打印本页]
作者:
风雪再现
时间:
2013-7-7 17:37
标题:
求最小公倍数
输入任意两个整数,并输出最小公倍数,望各位大神解决
作者:
风雪再现
时间:
2013-7-7 20:46
尹桥印 发表于 2013-7-7 19:24
从大的那个数开始从1遍历,遍历的过程中将遍历的数与大数相乘,乘积除以小数,判断余数为0
个人观点 ...
我感觉方法可以
作者:
张洪慊
时间:
2013-7-7 22:01
/*
辗转相除法(源于离散数学)
m n r //m,n两个整数,r为余数
64=1*36+28
36=1*28+8
28=3*8+4
8=2*4+0
4为所求最大公约数
64*36/4=576 最小公倍数
*/
import java.util.Scanner;
class GCD_LCM{
/*最大公约数*/
public static int gcd(int m,int n){//m,n代表两个整数
int r=0;//r代表余数
while((r=m%n)!=0){
m=n;
n=r;
}
return n;
}
/*最小公倍数*/
public static int lcm(int m,int n){
return m/gcd(m,n)*n;//两数之积除以最大公约数=最小公倍数
}
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int m=scan.nextInt();
int n=scan.nextInt();
System.out.println(m+"和"+n+"的最大公约数: "+gcd(m,n)+"\n"+
m+"和"+n+"的最小公倍数: "+lcm(m,n));
}
}
复制代码
作者:
赵宗荣
时间:
2013-7-8 13:31
本帖最后由 赵宗荣 于 2013-7-8 13:33 编辑
<P> Console.WriteLine("请输入1个数:");
string str1 = Console.ReadLine();
Console.WriteLine("请再次输入1个数:");
string str2 = Console.ReadLine();</P>
<P> </P>
<P> int i, j;
if (int.TryParse(str1, out i) && int.TryParse(str2, out j))
{
int m = i > j ? i : j;
int n = i + j;</P>
<P> if (i == j)
{
Console.WriteLine("最小公倍数是{0}", i);
}</P>
<P> else if (m % i == 0 && m % j == 0)
{
Console.WriteLine("最小公倍数是{0}", m);
}</P>
<P> else
{
while (n % i != 0 || n % j != 0)
{
n++;
}
Console.WriteLine("最小公倍数是{0}", n);
}
}
else
{
Console.WriteLine("输入的值不合法!");
return;
}
Console.ReadKey();</P>
复制代码
作者:
leayon
时间:
2013-7-8 17:29
static void Main(string[] args)
{
int num1, num2;
Console.WriteLine("请输入两个整数num1和num2(num1<num2)");
Console.WriteLine("请输入num1:");
string str1 = Console.ReadLine();
Console.WriteLine("请输入num2:");
string str2 = Console.ReadLine();
if (int.TryParse(str1, out num1) && int.TryParse(str2, out num2))
{
int num3 = 1; //最大公约数
int i = 1; //迭代变量,小于最大数的平方根
do
{
if (num1 % i == 0 && num2 % i == 0) //当num1和num2%i都为0时,说明i是两个数的约数
{
num3 = i;
}
i++;
} while (i < Math.Sqrt(num2)); //最后退出循环时,所得到的约数就是最大公约数
Console.WriteLine("最小公倍数是:" + num1 * num2 / num3); //输出最小公倍数
}
else
{
Console.WriteLine("你输入的数字有误!");
}
Console.ReadKey();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2