共计 1101 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
丸趣 TV 小编给大家分享一下 C 语言怎么样计算两个数的最大公约数和最小公倍数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
如果有一个自然数 a 能被自然数 b 整除,则称 a 为 b 的倍数,b 为 a 的约数。最大公约数指两个或多个整数共有约数中最大的一个。而,最小公倍数是两个或多个整数公有的倍数中除 0 以外最小的那个公倍数。
计算两个数的最大公约数
根据约数的定义可知,某个数的所有约数必不大于这个数本身,几个自然数的最大公约数必不大于其中任何一个数。要求任意两个正整数的最大公约数即求出一个不大于其中两者中的任何一个,但又能同时整除两个整数的最大自然数。
算法思路:按照从大(两个整数中较小的数)到小(到最小的整数 1)的顺序求出第一个能同时整除两个整数的自然数,即为所求。
代码示例:
#include stdio.h
int main()
int m, n, temp, i;
printf( 请输入任意 2 个数:\n
scanf( %d%d , m,
if(m n) /* 比较大小,使得 m 中存储大数,n 中存储小数 */
{ /* 交换 m 和 n 的值 */
temp=m;
m=n;
n=temp;
for(i=n; i i--) /* 按照从大到小的顺序寻找满足条件的自然数 */
if(m%i==0 n%i==0)
{/* 输出满足条件的自然数并结束循环 */
printf(%d 和 %d 的最大公约数为: %d\n , m, n, i);
break;
return 0;
}
输出:
计算两个数的最小公倍数
思路:求任意两个正整数的最小公倍数,即求出一个最小的能同时被两整数整除的自然数。
代码示例:
#include stdio.h
int main()
int m, n, temp, i;
printf( 请输入任意 2 个数:\n
scanf( %d%d , m,
if(m n) /* 比较大小,使得 m 中存储大数,n 中存储小数 */
{ /* 交换 m 和 n 的值 */
temp=m;
m=n;
n=temp;
for(i=m; i i++) /* 从大数开始寻找满足条件的自然数 */
if(i%m==0 i%n==0)
{/* 输出满足条件的自然数并结束循环 */
printf(%d 和 %d 的最小公倍数为: %d\n , m, n, i);
break;
return 0;
}
输出:
最小公倍数也可以使用最大公约数来求,公式:
● 最小公倍数 = 两数的乘积 / 最大公约(因)数
以上是“C 语言怎么样计算两个数的最大公约数和最小公倍数”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!
向 AI 问一下细节丸趣 TV 网 – 提供最优质的资源集合!