当前位置: 首页 > news >正文

详解最大公约数做法

目录

题目描述

做法

整体代码


辗转相除法解决最大公约数(洛谷B4025)

题目描述

定义两个正整数的最大公约数 gcd(a,b) 为最大的正整数 d,使得 d 可以同时整除 a 和 b

例如,gcd(9,12)=3,因为 9÷3 和 12÷3 的余数是 0,而无法找到一个比 3 更大的正整数满足要求。

现在给定两个正整数 a,b,要求出 gcd(a,b)。

输入格式

输入两个正整数 a,b

输出格式

输出 gcd(a,b)。

输入输出样例

输入 #1

9 12

输出 #1

3

输入 #2

100 1000

输出 #2

100

说明/提示

对于 40% 的数据,1≤a,b≤1000。

对于所有的数据,1≤a,b≤109。

什么是辗转相除法

用较大的数除以较小的数,再以除数和余数反复做除法,当除的时候余数为0时,取当前算式除数为最大公约数。

做法

int gongyueshu(int m,int n)
{int t = 1;while(t != 0)//在余数为0之前一直除和减{t=m%n;//除m=n; n=t;}return m;//函数中输出并结束使用return+输出的东西
}
3.	整体代码
#include<bits/stdc++.h>
using namespace std;
long long a[100005];
int b;
int a1,b1;
int gongyueshu(int m,int n)//放在主函数前面
{int t = 1;while(t != 0)//在余数为0之前一直除和减{t=m%n;//除m=n; n=t;}return m;//函数中输出并结束使用return+输出的东西
}int main(){cin>>a1>>b1;cout<<gongyueshu(a1,b1);//调用即可(第一次打没加cout,发现什么也没有输出)return 0;
}
  1. 整体代码

#include<bits/stdc++.h>using namespace std;long long a[100005];int b;int a1,b1;int gongyueshu(int m,int n)//放在主函数前面{int t = 1;while(t != 0)//在余数为0之前一直除和减{t=m%n;//除m=n;n=t;}return m;//函数中输出并结束使用return+输出的东西}int main(){cin>>a1>>b1;cout<<gongyueshu(a1,b1);//调用即可(第一次打没加cout,发现什么也没有输出)return 0;}

相关文章:

  • 数据结构作业
  • vue2中基于el-select封装一个懒加载下拉框
  • 从源码到实战:深度解析`rsync`增量同步机制与高级应用
  • 【HDFS入门】HDFS核心组件DataNode详解:角色职责、存储机制与健康管理
  • MyBatis-Plus 详解教程
  • 【专题刷题】双指针(一)
  • 静态站点生成
  • 解决USG5150防火墙web无法连接问题
  • 【AI论文】PixelFlow:基于流的像素空间生成模型
  • 【android bluetooth 协议分析 21】【ble 介绍 1】【什么是RPA】
  • DDS信号发生器设计
  • 自编码网络深度解析:原理、数学推导与实现细节
  • 标易行项目redis内存中放哪些数据
  • linux多线(进)程编程——(7)消息队列
  • 熟悉Linux下的编程
  • MySQL分组查询和子查询
  • secsgem v0.3.0版本使用说明文档
  • 探索 C 与 Java/Kotlin 的语言差异:从指针到高阶函数
  • 深入定制 QSlider——实现精准点击跳转与拖拽区分
  • 用Python手搓一个简单的饭店管理系统(上篇)
  • 寻女19年的“棉花糖爸爸”明将办团圆宴,大女儿:妹妹是片区销售主管
  • 龙登高谈近世的基层治理及制度变迁
  • “30小时不够”,泽连斯基建议延长停火至30天
  • 境外机构来华发行熊猫债累计超9500亿元
  • “80后”辽宁石油化工大学副校长杨占旭已任阜新市领导
  • 用户称被冒用身份证异地办卡申请注销遭拒,澎湃介入后邯郸联通着手办理剥离