教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

C#最大公约数和最小公倍数

来源:网络收集 时间:2026-08-10
导读: 1、求两个正整数的最大公约数与最小公倍数 【提示】: (1)求两个非负正数m和n(要求mn)的最大公约数可以使用辗转相除法。其算法描述为: 1)m除以n得到的余数为r(0=rn); 2)若r=0则算法结束,n为最大公约数。否则转3); 3)m=n,n=r,转1); */ usin

1、求两个正整数的最大公约数与最小公倍数

【提示】:

(1)求两个非负正数m和n(要求m>n)的最大公约数可以使用辗转相除法。其算法描述为:

1)m除以n得到的余数为r(0<=r<n);

2)若r=0则算法结束,n为最大公约数。否则转3);

3)m=n,n=r,转1);

*/

using System;

namespace ConsoleApplication2

{

/// <summary>

/// Class1 的摘要说明。

/// </summary>

class Class1

{

private static void gys(int m,int n)

{

int p,q;

p = m;

q = n;

int gr,gb;

while(true)

{

if(p%q==0)

{

gr = q;

break;

}

else

{

int r = p%q;

p = q;

q = r;

}

}

gb = m*n/gr;

Console.WriteLine("最大公约数是:

{1}",gr,gb);

}

/// <summary>

/// 应用程序的主入口点。

/// </summary>

[STAThread] 最小公倍数{0},

static void Main()

{

int m,n;

Console.WriteLine("正输入整数m");

m = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("输入正整数n");

n = Convert.ToInt32(Console.ReadLine()); if(m<=n)

{

Console.WriteLine("要求m>n");

Main();

}

else

{

gys(m,n);

}

Console.ReadLine();

}

}

}

C#求最小公倍数,最大公约数

作者:matrixkey 日期:2008-10-30

字体大小: 小 中 大

上午的C#课程讲方法,其中演示了求最大公约数和最小公倍数。根据辗转相除法,最小公倍数等于m*n除以最大公约数,那么在不知道最大公约数的情况下如何求最小公倍数,方法又要多少种呢?

我们先来看一看根据辗转相除法实现求最大公约数最小公倍数的代码

方法一:

方法二:

现在将先求最小公倍数的代码独立出来

方法一:

方法二思路:新构造一个求最大公倍数的函数……

先睡。醒来继续测试其他代码。

在测试第二部分的代码的时候出现个小状况,就是C编程中经常用到“while(n){语句;}”无法在C#中通过编译。后来发现:C#中的while语句只接受Bool变量,而不接受“n”的判断

也就是说原本在C中能通过的下列代码,在C#中无法通过

提示错误:无法将“int”隐式转化为“bool” 当把"while(n)"改成"while(n>0)"就正确了

C#最大公约数和最小公倍数.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/41644.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)