急求用 c语言编写一个程序求两个数的最小公倍数,越简单越好。

急求用 c语言编写一个程序求两个数的最小公倍数,越简单越好。,第1张

一般,欲求最小公倍数,先求最大公约数。输入/输出部分你自己写了,这里只是简单用C语言表示使用欧几里德算法:gcd(a,b) = gcd(b,a mod b)进行计算的部分。理解这个算法是关键,可以参考网络上的相关解释或者相关书籍上的解释。 输入部分/ input /略。 处理部分先求最大公约数,用递归形式表示欧几里德算法。如果理解了算法,看上去是非常舒服(简单)的。/ greatest common divisor /int gcd(int a, int b){ return b == 0 ( a : gcd(a%b));} 通过最大公约数,再求最小公倍数。/ least common multiple /int lcm(int a, int b) { return a b / gcd (a, b);} 输出部分/output/略。

最小公倍数=原来的两数之乘积÷最大公约数

程序:

=============

main() /主程序开始/

{

int aa,bb,a,b,c,t;

printf(“请输入要求最大公约数和最小公倍数的两个整数:\n”);

scanf(“%d %d”,&a,&b);

aa=a;

bb=b;

if(a<b)

{

t=a;

a=b;

b=t;

}

c=a%b;

while(c!=0)

{

a=b;

b=c;

c=a%b;

}

printf(“这两个数的最大公约数为:%d\n”,b);

printf(“这两个数的最小公倍数为:%d\n”,aabb/b);

}

#include <stdioh>

int main()

{

int a,b;

scanf("%d %d",&a,&b);

int temp;

if(a>b){temp=a;a=b;b=temp;}//保证a是较小的那个数

for(int i=a;i>=0;i--)

if(a%i==0&&b%i==0)//求最大公约数

{

temp=i;

break;

}

printf("%d\n",ab/temp);//输出最小公倍数

}

#include <stdioh>

int GCD(int num1,int num2)

{

if (num1 % num2 == 0)

return num2;

else

return GCD(num2, num1 % num2);

}

int LCM(int a,int b)

{

int temp_lcm;

temp_lcm = ab/GCD(a, b); //最小公倍数等于两数之积除以最大公约数

return temp_lcm;

}

int main()

{

int a,b;

while (scanf("%d%d",&a,&b)!= EOF)

{

printf("%d\n",LCM(a,b));

}

return 0;

}

先求出最大公约数,

最小公倍数由最大公约数转化过去

最大公约数由递归就可以出来了

望采纳谢谢

#include <stdioh>

int main()

{

int a,b,c;//三个数

printf("请输入三个数\n");

scanf("%d%d%d",&a,&b,&c);

for(int i = a;;i++)

{

if((i%a == 0)&&(i%b == 0)&&(i%c == 0))//当i可以同时被三个数整除时输出结果;

{

printf("最小公倍数为:\n%d",i);

break;

}

}

return 0;

}

以上就是关于急求用 c语言编写一个程序求两个数的最小公倍数,越简单越好。全部的内容,包括:急求用 c语言编写一个程序求两个数的最小公倍数,越简单越好。、c++程序最小公倍数求法、用c程序编程,求两个正整数的最小公倍数。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9498348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存