编写程序求最小公倍数编写程序,提示用户输入两个整数并求他们的最小公倍数(LCM).用如下方法:为求两个数的最小公倍数,首先为每个数创建一个素数因子表,该表的第一列包含所有素数因
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/27 13:39:39
编写程序求最小公倍数编写程序,提示用户输入两个整数并求他们的最小公倍数(LCM).用如下方法:为求两个数的最小公倍数,首先为每个数创建一个素数因子表,该表的第一列包含所有素数因
编写程序求最小公倍数
编写程序,提示用户输入两个整数并求他们的最小公倍数(LCM).用如下方法:为求两个数的最小公倍数,首先为每个数创建一个素数因子表,该表的第一列包含所有素数因子,第二列为该数中对应素数因子出现的次数.例如,120的素数因子为2,2,2,3,5,所以120的素数因子表如下所示:
120的素数因子表 出现次数
2 3 table[0][0]=2 table[0][1]=3
3 1 table[1][0]=3 table[1][1]=1
5 1 table[2][0]=5 table[2][1]=1
150的素数因子表为2,3,5,5,所以,150的素数因子表为:
150的素数因子表 出现次数
2 1 table[0][0]=2 table[0][1]=1
3 1 table[1][0]=3 table[1][1]=1
5 2 table[2][0]=5 table[2][1]=2
两个数的最小公倍数有两个数中出现频率最高的因子构成,所以120和150的最小公倍数为2*2*2*3*5*5,其中2在120中出现了3次,3在120中出现了1次,5在150中出现了2次.
提示:可以用二维数组表示因子表,编写getPrimeFactors(int number)方法,使其为素数因子表返回一个二维数组.
编写程序求最小公倍数编写程序,提示用户输入两个整数并求他们的最小公倍数(LCM).用如下方法:为求两个数的最小公倍数,首先为每个数创建一个素数因子表,该表的第一列包含所有素数因
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static int fun(int a,int b)
{
int temp;
if (a < b)
{
temp = a;
a = b;
b = temp;
}
if(b==0)
return a;
else
return fun(b,a%b);
}
static void Main()
{
Console.WriteLine("请输入两个数:");
int x = Convert.ToInt32(Console.ReadLine());
int y = Convert.ToInt32(Console.ReadLine());
int m;
m = fun(x, y);
Console.WriteLine("{0}", x*y/m);
Console.ReadLine();
}
}
}