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

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

相关推荐
代码游侠1 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
2301_763472461 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
阿猿收手吧!2 小时前
【C++】std::promise原理与实战解析
c++
abluckyboy2 小时前
Java 实现求 n 的 n^n 次方的最后一位数字
java·python·算法
园小异2 小时前
2026年技术面试完全指南:从算法到系统设计的实战突破
算法·面试·职场和发展
m0_706653232 小时前
分布式系统安全通信
开发语言·c++·算法
Zach_yuan2 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
寻寻觅觅☆3 小时前
东华OJ-基础题-104-A == B ?(C++)
开发语言·c++
lightqjx3 小时前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
天天爱吃肉82183 小时前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车