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之间的所有整数,并检查它们是否能够整除最大公约数。如果是这样,我们将该整数作为最小公倍数。

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

相关推荐
拉姆哥的小屋几秒前
从原子到性能:机器学习如何重塑双金属催化剂的设计范式
人工智能·python·算法·机器学习
leoufung几秒前
LeetCode 162:寻找峰值的二分搜索思想与区间不变式分析
算法·leetcode·职场和发展
Non importa5 分钟前
用滑动窗口代替暴力枚举:算法新手的第二道砍
java·数据结构·c++·学习·算法·leetcode·哈希算法
free-elcmacom9 分钟前
机器学习进阶<10>分类器集成:集成学习算法
python·算法·机器学习·集成学习
laocooon52385788614 分钟前
C语言枚举知识详解与示例
java·c语言·数据库
月明长歌20 分钟前
【码道初阶】【LeetCode 160】相交链表:让跑者“起跑线对齐”的智慧
java·算法·leetcode·链表
beordie.cloud24 分钟前
LeetCode 49. 字母异位词分组 | 从排序到计数的哈希表优化之路
算法·leetcode·散列表
共享家952729 分钟前
每日一题(一)
算法
fufu031133 分钟前
Linux环境下的C语言编程(四十一)
linux·c语言·算法
bing.shao39 分钟前
Golang 之闭包
java·算法·golang