求最大公约数

请添加图片描述

本期介绍🍖
主要介绍:求两数的最大公约数,通过辗转相除法计算。


文章目录

  • 1. 求最大公约数
  • 2. 遍历法
  • 3. 辗转相除法


1. 求最大公约数

  题目:给定两个数,求这两个数的最大公约数。
  最大公约数:指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。举个例子:18和24的最大公约数是6。


2. 遍历法

  思路:从1开始试除,直到给定两个数中较小的那个值。如果存在能够同时整除两个数的数,则该数就是公约数。随着试除的继续,公约数不断更新迭代,最后试除结束前的那个公约数就是最大公约数。代码如下:

#include<stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	scanf("%d %d", &num1, &num2);
	int min = 0;
	int com_max = 1;//最大公约数
	//找出输入两个数中较小的那个
	if (num1 < num2)
		min = num1;
	else
		min = num2;
	//找最大公约数
	int i = 0;
	for (i = 1; i <= min; i++)
	{
		//公约数判断条件
		if ((num1 % i == 0) && (num2 % i == 0))
		{
			com_max = i;
		}
	}
	printf("最大公约数是:%d\n", com_max);
	return 0;
}

在这里插入图片描述


3. 辗转相除法

  辗转相除法又称欧几里得算法,是指用于计算两个非负整数a,b的最大公约数。辗转相除法基于如下原理:两个整数的最大公约数等于其中较小的数和两数相除余数的最大公约数。假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的:

1997 ÷ 615 = 3 (152)
615 ÷ 152 = 4(7)
152 ÷ 7 = 21(5)
7 ÷ 5 = 1 (2)
5 ÷ 2 = 2 (1)
2 ÷ 1 = 2 (0)
至此,最大公约数为1

  以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。代码如下:

//辗转相除法
#include<stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	int r = 0;
	int com_max = 0;
	scanf("%d %d", &num1, &num2);
	//如果被除数和除数的余数为0,则除数就是最大公约数
	//如果被除数和除数的余数不为0,则以除数为被除数,余数为除数,计算余数。
	while ((r = num1 % num2) != 0)
	{
		num1 = num2;
		num2 = r;
	}
	com_max = num2;
	printf("最大公约数:%d\n", com_max);
	return 0;
}

在这里插入图片描述


在这里插入图片描述

这份博客👍如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧👀。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL--执行一条 select 语句,期间发生了什么?

执行一条 SQL 查询语句&#xff0c;期间发生了什么&#xff1f; 连接器&#xff1a;建立连接&#xff0c;管理连接、校验用户身份&#xff1b;查询缓存&#xff1a;查询语句如果命中查询缓存则直接返回&#xff0c;否则继续往下执行。MySQL 8.0 已删除该模块&#xff1b;解析 …

AI“造神运动”终结,杀死,重生

AGI回归本质&#xff0c;百亿美金创业机会涌现。 “专注AI技术迭代会让我焦虑&#xff0c;关注业务我不会焦虑&#xff0c;有些问题十年前存在十年后还在&#xff0c;我现在就明确不卷模型&#xff0c;只思考如何让产品能自我‘造血’。” 一位正卷在AI创业洪流里的硅谷创业者…

Qt对象树

对象树 1.QLabel* label new QLabal(this) 这个代码在new了之后没有释放&#xff0c;不会造成内存泄漏。 原因是这个对象是挂到了对象树上。 qt就是设计了一个n叉树&#xff0c;将各种元素组织起来了。 例如以下图 通过树形结构&#xff0c;就把界面上显示的这些控件对象…

韶音运动耳机好用吗?南卡、墨觉、韶音骨传导耳机三款全面评测

音乐是我生活中不可或缺的调味品&#xff0c;它伴随着我度过了无数个清晨的慢跑以及夜晚的悠闲散步。但是传统入耳式耳机总是让我感到不适&#xff0c;虽然它有着不错的降噪能力&#xff0c;但是很容易忽视周围环境的安全&#xff0c;而且运动的时候老容易掉。然后我遇到了骨传…

新质生产力浪潮下,RPA如何成为助力先锋?

新质生产力浪潮下&#xff0c;RPA如何成为助力先锋&#xff1f; 在数字化、智能化的今天&#xff0c;“新质生产力”一词越来越频繁地出现在我们的视野中。那么&#xff0c;究竟什么是新质生产力&#xff1f;它与我们又有什么关系&#xff1f;更重要的是&#xff0c;在这一浪潮…

【动态规划】代码随想录算法训练营第四十六天 |139.单词拆分,关于多重背包,你该了解这些! ,背包问题总结篇!(待补充)

139.单词拆分 1、题目链接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 2、文章讲解&#xff1a;代码随想录 3、题目&#xff1a; 给定一个非空字符串 s 和一个包含非空单词的列表 wordDict&#xff0c;判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词…

LeetCode:206.反转链表

206. 反转链表 解题过程 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; this.next next; …

【C++】C++学习前言

C前言与发展 一.什么是C二.C的发展史三.C的重要性 一.什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危机&#xff0c; 20世纪…

2023年中国抗DDoS市场规模现状及竞争格局,公有云抗DDoS是主要增长点

分布式拒绝服务&#xff08;DDoS&#xff09;是在DoS基础之上产生的一种新的攻击方式&#xff0c;具有多对一的攻击模式。它通过制造伪造的流量&#xff0c;使得被攻击的服务器、网络链路或是网络设备&#xff08;如防火墙、路由器等&#xff09;负载过高&#xff0c;无法处理正…

NUMA架构

UMA架构 在单cpu的时代&#xff0c;cpu与内存的交互需要通过北桥芯片来完成。cpu通过前端总线(FSB&#xff0c; front Side Bus)连接到北桥芯片&#xff0c;由北桥芯片连接到内存&#xff08;内存控制器是集成在北桥芯片里的&#xff09;。为了提升性能&#xff0c;cpu的频率不…

2024中国(京津冀)太阳能光伏推进大会暨展览会

2024年中国(京津冀)太阳能光伏推进大会暨展览会是一个旨在促进太阳能光伏产业发展的重要会议和展览会。该活动将在中国的京津冀地区举行&#xff0c;旨在汇聚全球太阳能光伏领域的专业人士、政府代表、企业家和科研人员&#xff0c;共同探讨太阳能光伏技术的最新进展和未来发展…

PWARL CTF and others

title: 一些复杂点的题目 date: 2024-03-09 16:05:24 tags: CTF 2024年3月9日 今日习题完成&#xff1a; 1.BUU [网鼎杯 2020 半决赛]AliceWebsite 2.[RoarCTF 2019]Online Proxy 3.[Polar CTF]到底给不给flag呢 4.网鼎杯 2020 总决赛]Game Exp [RoarCTF 2019]Online Proxy …

适合上班族的副业:steam游戏搬砖1天3小时,月入8K

互联网新时代&#xff0c;做副业的人越来越多。如果能充分利用下班后的时间&#xff0c;还真能赚到不少钱。steam游戏搬砖项目就是这样一个非常适合上班的副业&#xff0c;只要用心去操作&#xff0c;一个月至少收入两三千&#xff0c;多的轻松上万。 steam游戏搬砖项目其实做的…

【NR 定位】3GPP NR Positioning 5G定位标准解读(十四)-DL-TDOA 定位

前言 3GPP NR Positioning 5G定位标准&#xff1a;3GPP TS 38.305 V18 3GPP 标准网址&#xff1a;Directory Listing /ftp/ 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;一&#xff09;-CSDN博客 【NR 定位】3GPP NR Positioning 5G定位标准解读&#xff08;…

微信小程序(五十七)打开腾讯地图选择位置

注释很详细&#xff0c;直接上代码 前提配置看第五十四篇&#x1f427; 上一篇 新增内容&#xff1a; 1.使用地图选择位置的方法让用户重新选择大概的位置 2.留下经纬度接口以便于更新新的附近位置列表 源码&#xff1a; index.wxml <button bind:tap"chooseLocation…

java中的File

路径&#xff1a; 相对路径&#xff1a;相对路径是不带盘符的&#xff0c;它是相对于项目而言的 例如&#xff1a; “a.txt” “abc\a.txt” 绝对路径&#xff1a;绝对路径是带盘符的 &#xff0c;是相对于计算机而言。 例如&#xff1a; “C:\a.txt” “C:\abc\a.txt” Fil…

2024鸿蒙迎来大爆发,有必要转行鸿蒙开发吗?

鸿蒙开发&#xff0c;这个名字最近在科技圈引起了不小的轰动。 那么&#xff0c;鸿蒙开发到底是什么呢&#xff1f;它又能给我们带来怎样的影响呢&#xff1f; 鸿蒙开发&#xff0c;简单来说&#xff0c;就是基于鸿蒙操作系统的一种应用开发方式。鸿蒙系统&#xff0c;作为华为…

诗词生成之setting

先上代码&#xff1a; # 禁用词&#xff0c;包含如下字符的唐诗将被忽略 DISALLOWED_WORDS [&#xff08;, &#xff09;, (, ), __, 《, 》, 【, 】, [, ]] # 句子最大长度 MAX_LEN 64 # 最小词频 MIN_WORD_FREQUENCY 8 # 训练的batch size BATCH_SIZE 16 # 数据集路径 DA…

机器学习(选修)(持续更新)

Gradient Descent 1、一般我们会得到一组参数 &#xff0c;它是由很多组weight和bias组成的。 2、首先&#xff0c;我们在处理数据的时候&#xff0c;会选择一个初始化参数 3、其次&#xff0c;我们计算每个与w的偏微分&#xff0c;把他们组成矩阵的形式&#xff0c;如下图&…

C++ Qt开发:QNetworkAccessManager网络接口组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍如何运用QNetworkAccessManager组件实现Web网…
最新文章