日期:2014-05-17 浏览次数:21036 次
* 作 者: 雷恒鑫
* 完成日期: 2012 年 09 月08 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 编程思想:
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication_do_while { class Program { static void Main(string[] args) { Console.WriteLine("这是一个输入两个整数,求两个整数的最小公倍数与最大公约数的程序"); Console.Write("请您输入第一个整数:"); string first = Console.ReadLine(); Console.Write("请您输入第二个整数:"); string second = Console.ReadLine(); int x = int.Parse(first);//类型转换 int y = int.Parse(second);//类型转换 int Greatest_common_divisor = gcd(x, y); int Least_common_multiple = lcm(x, y); Console.WriteLine("{0}与{1}的最小公倍数是:{2} 最大公约数是:{3}", x, y, Least_common_multiple, Greatest_common_divisor); Console.ReadKey(); } //求最大公约数 static int gcd(int m, int n) { int i = 2;//定义循环控制变量 int Least_common_multiple = 1;//求最大公约数 int min1 = min(m, n); while (i <= min1) { while (m % i == 0 && n % i == 0)//求分子分母共同的公约数 { m = m / i; n = n / i; min1 = min(m, n); Least_common_multiple = Least_common_multiple * i; } ++i; } return Least_common_multiple; } //求最小公倍数 static int lcm(int m, int n) { int Greatest_common_divisor = gcd(m, n);//求最大公约数 int Least_common_multiple = (m / Greatest_common_divisor) * (n / Greatest_common_divisor) * Greatest_common_divisor;//最小公倍数与最大公约数有一定关系 return Least_common_multiple; } //求两个数的最大值与最小值 static int min(int m, int n) { int min; if (m > n) { min = n; } else { min = m; } return min; } } }
运行结果: