每日一更1062;[二级C语言]公约公倍

简介: 题目描述:输入两个正整数m和n,求其最大公约数和最小公倍数。

题目描述:

输入两个正整数m和n,求其最大公约数和最小公倍数。

输入:

输出:

样例输入:

2 3

样例输出:

1

6

分析:之前写过,不是很难,相信你也会写(狗头!),话不多说直接上源码;

源码:#include <stdio.h>

int main(void)

{

int m,n,a=1,b=1,c,i;
scanf("%d%d",&m,&n);
if(m>n){          //这一步是为了保证m为两个数中的最小值,方便下面的for循环。
    c=m;
    m=n;
    n=c;
}else{
    m=m;
    n=n;
}
for(i=1;i<=m;i++){     //这里m为两数中的最小值,你想一下,求最小公倍数,除到最小的那一个就行了。
if(m%i==0&&n%i==0){
        a*=i;   //如果都能整除,说明i是一个共同的因子,让a的之不断更新,成为最大的公约数。
        m=m/i;   //注意这里,m和n的值不断更新,至于为什么,好好想想应该能想出来(嘿嘿!)
        n=n/i;
    }
}
b=a*n*m;     //b的值就是最小公倍数,a是最大公约数,此时的m和n都是约分的最小值,三者相乘就是最小公倍数。
printf("%d\n",a);//分别a(最大公约数),b(最大公倍数)输出就行了
printf("%d\n",b);
return 0;

}

目录
相关文章
|
1月前
|
存储 程序员 测试技术
【详解】C语言冷门知识点之--位段
【详解】C语言冷门知识点之--位段
|
23天前
|
API C语言 开发者
C语言中抽象函数与具体实现的命名与组织
在C语言的嵌入式系统和开源软件开发中,良好地处理抽象函数与实现对于代码质量至关重要。建议将API作为接口定义操作,使用函数指针实现动态替换。避免使用`Impl`后缀,推荐用`Callback`或`Handler`表示具体实现。回调函数用于异步事件处理,通过指针传递。示例展示了C语言中函数指针的用法,嵌入式项目常通过目录结构区分平台相关代码。清晰的命名和组织能提升代码可读性和团队协作效率。
|
4天前
|
编译器 C语言 C++
【海贼王编程冒险 - C语言海上篇】自定义类型:结构体,枚举,联合怎样定义?如何使用?
【海贼王编程冒险 - C语言海上篇】自定义类型:结构体,枚举,联合怎样定义?如何使用?
8 0
|
1月前
|
存储 人工智能 机器人
【C/C++】C语言 学生信息管理系统(源码)【独一无二】
【C/C++】C语言 学生信息管理系统(源码)【独一无二】
|
1月前
|
机器学习/深度学习 人工智能 算法
二级C语言选择题练习附答案
二级C语言选择题练习附答案
|
1月前
|
存储 算法 测试技术
通过一篇文章让你完全掌握计算机二级C语言的知识点
计算机二级C语言考试是许多计算机科学专业学生及编程爱好者的必经之路。它不仅是对基础编程知识的检验,更是对逻辑思维和问题解决能力的挑战。通过这门考试,考生需要掌握C语言的基本语法、数据类型、控制结构、函数、数组、指针以及文件操作等核心内容。 为了顺利通过计算机二级C语言考试,考生首先需要系统地学习C语言的基础知识。从变量和常量的定义开始,逐步深入到运算符的使用、条件语句和循环语句的应用。在学习过程中,不断通过编写小程序来巩固所学知识,比如计算两个数的和、判断一个数是否为素数等。
144 0
|
11月前
|
存储 C语言 C++
【C语言进阶篇】一篇文章让你彻底拿下 位段 枚举 联合!(上)
【C语言进阶篇】一篇文章让你彻底拿下 位段 枚举 联合!(上)
51 1
|
11月前
|
存储 编译器 Linux
【C语言进阶篇】一篇文章让你彻底拿下 位段 枚举 联合!(下)
【C语言进阶篇】一篇文章让你彻底拿下 位段 枚举 联合!(下)
59 0
|
C语言
计算机二级C语言刷题笔记
计算机二级C语言刷题笔记