C#帮我看个关于求三个正整数的最小公倍数的问题
答案:2 悬赏:10 手机版
解决时间 2021-02-28 03:03
- 提问者网友:椧運幽默
- 2021-02-27 08:29
我只用C#设计了个窗体.算法其实我也明白.就是不知道怎么编,老出问题.现在这个是窗体.帮我编一下吧主要在学习.用最小公倍的定义做就行,求最小公倍有好几种方法. 知道基本的算法,就是编程老出错.不知道如何弄.想借鉴一下成功人士的,请帮忙把总程序写一下..谢谢!!!十分感谢!
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-02-27 09:43
using System;
using System.Collections.Generic;
using System.Text;
namespace MinCommonMultiple
{
class Program
{
static void Main(string[] args)
{
// GetMinCommonMultiple 方法用了params关键字之后传入的参数个数不是一定的 你想传入几个都行
Console.WriteLine(GetMinCommonMultiple(15, 11, 2).ToString());//3个参数 返回330
Console.WriteLine(GetMinCommonMultiple(15, 11).ToString());//2个 返回165
Console.WriteLine(GetMinCommonMultiple(15, 11, 2, 3).ToString());//4个 返回330
}
public static long GetMinCommonMultiple(params long[] nums)
{
int minCommonMultiple = int.MinValue;
bool ifLoop = true;
for (long i = 1; i < long.MaxValue; i++)
{
ifLoop = true;
foreach (long item in nums)
{
if (i % item != 0)
{
ifLoop = false;
break;
}
}
if (ifLoop == false)
{
continue;
}
else
{
return i;
}
}
return minCommonMultiple;
}
}
}
using System.Collections.Generic;
using System.Text;
namespace MinCommonMultiple
{
class Program
{
static void Main(string[] args)
{
// GetMinCommonMultiple 方法用了params关键字之后传入的参数个数不是一定的 你想传入几个都行
Console.WriteLine(GetMinCommonMultiple(15, 11, 2).ToString());//3个参数 返回330
Console.WriteLine(GetMinCommonMultiple(15, 11).ToString());//2个 返回165
Console.WriteLine(GetMinCommonMultiple(15, 11, 2, 3).ToString());//4个 返回330
}
public static long GetMinCommonMultiple(params long[] nums)
{
int minCommonMultiple = int.MinValue;
bool ifLoop = true;
for (long i = 1; i < long.MaxValue; i++)
{
ifLoop = true;
foreach (long item in nums)
{
if (i % item != 0)
{
ifLoop = false;
break;
}
}
if (ifLoop == false)
{
continue;
}
else
{
return i;
}
}
return minCommonMultiple;
}
}
}
全部回答
- 1楼网友:英雄的欲望
- 2021-02-27 11:01
using system; using system.collections.generic; using system.text; namespace sushu { class program { static void main(string[] args) { int m, n, i, t; console.writeline("请输入第一个整数:"); m = int.parse(console.readline()); console.writeline("请输入第二个整数:"); n = int.parse( console.readline()); if (m > n) { t = m; m = n; n = t; } for (i = m; i >= 1; i--) { if (m % i == 0 && n % i == 0) { console.writeline("最大公约数为:{0}",i); break; } } for(i=n;i<=m*n;i++) { if(i%m==0&&i%n==0) { console.writeline(" 最小公倍数为:{0}",i); break; } } } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯