C语言入门到精通之练习十六:最大公约数和最小公倍数

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

程序分析:

(1)最小公倍数=输入的两个数之积除于它们的最大公约数,关键是求出最大公约数;

(2)求最大公约数用辗转相除法(又名欧几里德算法)

1)证明:设c是a和b的最大公约数,记为c=gcd(a,b),a>=b,
令r=a mod b
设a=kc,b=jc,则k,j互素,否则c不是最大公约数
据上,r=a-mb=kc-mjc=(k-mj)c
可知r也是c的倍数,且k-mj与j互素,否则与前述k,j互素矛盾,
由此可知,b与r的最大公约数也是c,即gcd(a,b)=gcd(b,a mod b),得证。

2)算法描述:

第一步:a ÷ b,令r为所得余数(0≤r 第二步:互换:置 a←b,b←r,并返回第一步。

//  Created by www.erdangjiade.com on 15/11/9.
//#include<stdio.h>
int main()
{int a,b,t,r,n;printf("请输入两个数字:\n");scanf("%d %d",&a,&b);if(a<b){t=b;b=a;a=t;}r=a%b;n=a*b;while(r!=0){a=b;b=r;r=a%b;}printf("这两个数的最大公约数是%d,最小公倍数是%d\n",b,n/b);return 0;
}

以上实例输出结果为:

请输入两个数字:
12 26
这两个数的最大公约数是2,最小公倍数是156

希望你也学会了,更多编程请来二当家的素材网:https://www.erdangjiade.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645088.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《如何画好架构图》学习笔记

看了一堂《如何画好架构图》的公开课&#xff0c;结合网上的资料与经验做一些思考总结。文中的例子和图片大多是从课程中摘录的。 1. 4R架构定义 4R架构定义其实是软件架构定义经过归纳提炼后的简称。 软件架构定义&#xff1a;软件架构是指软件系统的顶层&#xff08;Rank&am…

Linux中并发程序设计

进程的创建和回收 进程概念 概念 程序 存放在磁盘上的指令和数据的有序集合&#xff08;文件&#xff09; 静态的 进程 执行一个程序所分配的资源的总称 动态的进程和程序比较 注&#xff1a;进程是存在RAM中&#xff0c;程序是存放在ROM(flash)中的进程内容 BSS段&#xff…

Spring如何使用自定义注解来实现自动管理事务?

人可以做他(她)想做的&#xff0c;但不能要他(她)想要的 一个目录 前言业务代码展示手动挡自动挡事务失效的问题代码地址 前言 在两年半以前&#xff0c;我写了一篇博客&#xff1a;框架的灵魂之注解基础篇&#xff1a; 在那篇博客的结尾&#xff0c;我埋了一个坑&#xff1a…

JAVA 学习 面试(八)集合类

集合类 集合&#xff08;Collection&#xff09; 1、 List列表 &#xff1a; 有序 可重复 1、ArrayList : 数组列表 &#xff0c;内部是通过Array实现&#xff0c;对数据列表进行插入、删除操作时都需要对数组进行拷贝并重排序&#xff0c;因此在知道存储数据量时&#xff0c…

【GAMES101】Lecture 09 重心坐标

我们之前说着色过程中以及这个计算法线的时候需要用到这个插值&#xff08;Interpolation&#xff09;&#xff0c;然后插值是通过这个重心坐标&#xff08;Barycentric Coordinates&#xff09;来实现的 目录 重心坐标 插值 重心坐标 注意哈我们这里说的三角形的重心坐标并…

Java反射基础学习笔记

Java反射基础知识 一、Java反射的理解二、Java反射的知识1、如何获取Class类2、使用Class中的构造方法3、使用Class中的方法4、使用Class中的属性5、使用Class中的注解6、Class中的常用方法 Java反射要学习哪些内容&#xff0c;其实要知道的东西很少&#xff0c;也很简单掌握。…

RK3399平台开发系列讲解(USB篇)BusHound 工具使用介绍

🚀返回专栏总目录 文章目录 一、BusHound简介二、BusHound的下载三、BusHound设备窗口四、BUSHound发送命令窗口沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 BusHound软件是由美国perisoft公司研制的一种专用于PC机各种总线数据包监视和控制的开发工具软件,其名…

前端面试——关于this指向问题?

想要知道关于this的指向问题&#xff0c;首先要了解this的绑定规则。那么this到底是什么样的绑定规则呢&#xff1f;一起来研究一下吧&#xff01; 绑定一&#xff1a;默认绑定 绑定二&#xff1a;饮食绑定 绑定三&#xff1a;显示绑定 绑定四&#xff1a;隐式绑定 1. 默认…

【GitHub项目推荐--一款美观的开源社区系统】【转载】

推荐一款开源社区系统&#xff0c;该系统基于主流的 Java Web 技术栈&#xff0c;如果你是一名 Java 新手掌握了基本 JavaEE 框架知识&#xff0c;可以拿本项目作为练手项目。 开源社区系统功能还算完善包含发布帖子、发布评论、私信、系统通知、点赞、关注、搜索、用户设置、…

What is `Filter` does?

过滤器&#xff08;Filter&#xff09;是Java Servlet规范中的一部分&#xff0c;它提供了一种在请求到达目标资源之前或响应发送给客户端之前进行预处理和后处理的能力。 通过编写自定义的过滤器类并将其注册到Web应用程序中&#xff0c;开发者可以实现诸如登录验证、权限控制…

边缘计算及相关产品历史发展

边缘计算及相关产品历史发展 背景边缘计算的历史CDN&#xff08;Content Delivery Network&#xff09;Cloudlet雾计算MEC&#xff08;Multi-Access Edge Computing&#xff0c;MEC&#xff09; 边缘计算的现状云计算厂商硬件厂商软件基金会 背景 最近&#xff0c;公司部分业务…

RT-DETR优化改进:IoU系列篇 | Focaler-IoU​​​​​​​更加聚焦的IoU损失Focaler-IoU |2024年最新发表

🚀🚀🚀本文改进:Focaler-IoU更加聚焦的IoU损失Focaler-IoU,能够在不同的检测任务中聚焦不同的回归样本,使用线性区间映射的方法来重构IoU损失 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 🚀🚀🚀学姐带你学习YOLOv8,从入门到创新,轻轻松松搞…

Redis中BigKey的分析与优化

Redis中BigKey的分析与优化 Redis以其出色的性能和易用性&#xff0c;在互联网技术栈中占据了重要的地位。 但是&#xff0c;高效的工具使用不当也会成为性能瓶颈。在Redis中&#xff0c;BigKey是常见的性能杀手之一&#xff0c;它们会消耗过多的内存&#xff0c;导致网络拥塞…

【每日一题】最大交换

文章目录 Tag题目来源解题思路方法一&#xff1a;暴力法方法二&#xff1a;贪心 写在最后 Tag 【暴力法】【贪心法】【数组】【2024-01-22】 题目来源 670. 最大交换 解题思路 本题的数据规模比较小&#xff0c;暴力法也可以通过。以下将会介绍暴力法和本题最优法。 方法一…

14027.ptp 控制流

文章目录 1 ptp 控制流1.1 控制流分层 1 ptp 控制流 1.1 控制流分层 大体分为4层&#xff1a;1 ptp4l层&#xff1a; 获取配置文件、创建时钟、poll监控文件描述符。2 clock时钟层&#xff1a;提供提供clock_poll、clock_create、clock_sync 等3 port 端口层&#xff1a;port…

后端MySQL常用命令

不是专业后端的&#xff0c;所有可能有些不太准确&#xff0c;都是自己平时在项目当中总结的&#xff0c;谢谢ฅฅ* 添加/insert 给指定字段添加数据 INSERT INTO 表名 字段名 VALUES 值 INSERT INTO ninth_student (id,name,sex,age,weight,birth) VALUES (0,亚亚,女,18,4…

为什么重写hashcode要一起重写equals方法

为什要重写hashcode&#xff1f; hashcode方法得到一个hash值其实是要起到一个比较作用&#xff0c;比较两个未知的东西是不是同一个东西&#xff0c;因为我们要求hashcode方法产生的hash值对于”同一个东西“得到的hash值是一样的。 那这种特性可以做到去重的效果&#xff0…

HBase学习五:运维排障之复制

官方文档-HBase复制,包含相关命令信息 0 名词解释 在HBase中,HLog(也称为WAL)用于记录所有对HBase表的修改操作,以便在系统故障时可以恢复数据。 Entry的含义 Entry在HLog上下文中通常指的是WAL中的一个记录项。每个Entry包含了一次或多次对HBase表的修改操作的信息,这…

通过 GScan 工具自动排查后门

一、简介 GScan 是一款为安全应急响应提供便利的工具&#xff0c;自动化监测系统中常见位置。 工具运行环境&#xff1a;CentOS (6、7) python (2.x、3.x) 工具检查项目&#xff1a; 1、主机信息获取 2、系统初始化 alias 检查 3、文件类安全扫描 3.1、系统重要文件完整行…

Express.js 中动态路由解码:path-to-regexp介绍

1. path-to-regexp&#xff1a;将路径转化为模式 path-to-regexp 是一个 Node.js 工具&#xff0c;用于将路径字符串转换为正则表达式。它在像 Express.js 这样的网络框架中广泛用于处理动态路由。 主要功能及代码示例&#xff1a; 将路径转换为正则表达式&#xff1a; 它将带…