最小公倍数 C++ 最高效的算法?(最高效!)
答案:6 悬赏:10 手机版
解决时间 2021-03-17 02:50
- 提问者网友:謫仙
- 2021-03-16 12:01
最小公倍数 C++ 最高效的算法?(最高效!)
最佳答案
- 五星知识达人网友:醉吻情书
- 2021-03-16 13:08
delegate TResult F(F self, T1 arg1, T2 arg2);
static Func Make(F self)
{
return (x, y) => self(self, x, y);
}
static void Main(string[] args)
{
var gcd = Make((f, x, y) => y == 0 ? x : f(f, y, x % y));
Console.WriteLine(gcd(192, 216)); // 24
Console.ReadKey();
}
这是C#写的
static Func
{
return (x, y) => self(self, x, y);
}
static void Main(string[] args)
{
var gcd = Make
Console.WriteLine(gcd(192, 216)); // 24
Console.ReadKey();
}
这是C#写的
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-03-16 17:23
辗转相除求最大公约数,然后用两数积除以最大公约数
- 2楼网友:时间的尘埃
- 2021-03-16 16:33
int gcd(a,b){
if(a%b==0) return b;
return gcd(b,a%b);
}
#define lcm(a,b) a/gcd(a,b)*b
如果我手写没错的话...
if(a%b==0) return b;
return gcd(b,a%b);
}
#define lcm(a,b) a/gcd(a,b)*b
如果我手写没错的话...
- 3楼网友:刀戟声无边
- 2021-03-16 14:35
int G(int a,int b)
{
int temp,k=a*b;
if(b>a)//这一段是辗转相除求最大公约数
{
temp=a;
a=b;
b=temp;
}
while(a%b)
{
temp=a%b;
a=b;
b=temp;
}
return k/b;
}
{
int temp,k=a*b;
if(b>a)//这一段是辗转相除求最大公约数
{
temp=a;
a=b;
b=temp;
}
while(a%b)
{
temp=a%b;
a=b;
b=temp;
}
return k/b;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯