C语言——输入两个正整数 m 和 n。求其最大公约数和最小公倍数。

cpp 复制代码
#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
int main()
{
   int m, n;
   int i;
   int x = 1;
   int y = 0;
   printf("请输入两个正整数m和n:\n");
   scanf("%d,%d", &m, &n);
   for (i = 1; i <= m && i <= n; i++) 
	{
       if (m % i == 0 && n % i == 0) 
		{
           x = i;
       }
   }
   for (i = 1; i <= m * n; i++) 
	{
       if (i % x == 0) 
		{
           y = i;
       }
   }
   printf("最大公约数是:%d\n", x);
   printf("最小公倍数是:%d\n", y);
   
   return 0;
} 

我们首先定义了两个变量m和n,以及一个变量i,用于循环计数。然后,我们使用scanf函数从用户那里获取两个正整数m和n。

接下来,我们使用两个循环分别计算最大公约数和最小公倍数。

首先,我们使用一个循环遍历m和n之间的所有整数,并检查它们是否同时能够整除m和n。如果是这样,我们将该整数作为最大公约数。

其次,我们使用另一个循环遍历1到m乘以n之间的所有整数,并检查它们是否能够整除最大公约数。如果是这样,我们将该整数作为最小公倍数。

最后,我们打印出最大公约数和最小公倍数。

相关推荐
j_xxx404_23 分钟前
C++:继承(概念及定义|作用域|基类与派生类转换|默认成员函数|与友元、静态成员关系|多继承|组合)
数据结构·c++
九年义务漏网鲨鱼1 小时前
蓝桥杯算法——状态压缩DP
算法·职场和发展·蓝桥杯
欧阳x天1 小时前
C++入门(二)
开发语言·c++
CappuccinoRose1 小时前
MATLAB学习文档(二十八)
开发语言·学习·算法·matlab
Freedom_my2 小时前
插入排序算法
数据结构·算法·排序算法
952362 小时前
排序-算法
数据结构·算法·排序算法
WongKyunban2 小时前
插入排序的原理和示例
数据结构·算法·排序算法
flashlight_hi2 小时前
LeetCode 分类刷题:404. 左叶子之和
javascript·算法·leetcode
代码雕刻家3 小时前
C语言的左对齐符号-
c语言·开发语言
小白程序员成长日记3 小时前
2025.11.19 力扣每日一题
算法·leetcode·职场和发展