求两个正整数的最大公约数Python版

2023-11-04

求两个数的最大公约数我分别采用辗转相除法,辗转相减法,枚举法来求得。最小公倍数就是两个数之积除以最大公约数的结果。

(1)辗转相除法

思路:

1.将两整数求余 a%b = x

2.如果x = 0;则b为最大公约数 

3.如果x != 0,则 a = b;b = x;继续从1开始执行

4.也就是说该循环的是否继续的判断条件就是x是否为0

流程图

实现代码

#辗转相除法
def fun1(a,b):
    x = a % b
    while (x != 0):
        a = b
        b = x
        x = a % b
    return b

(2)辗转相减法

思路:

1.如果a>b ,a = a - b;

2.如果b>a ,b = b - a;

3.假如a = b ,则 a或b  是最大公约数

4.如果a != b,则继续继续相减,直至a = b

流程图

实现代码

#辗转相减法
def fun2(a,b):
    while a != b:
        if a > b:
            a = a - b
        else:
            b = b - a
    return b

(3)枚举法

思路:

1.选出a,b中最小的一个数字放到min中

2.分别用a,b对i求余数,即看是否能被整除

3.直到a,b同时都能被i整除

4.如不能整除,i加一 继续开始执行,直到i等于min

流程图

实现代码

#枚举法
def fun3(a,b):
    if a < b:
        min = a
    else:
        min = b
    i = 1
    while i < min:
        if a % i == 0:
            if b % i == 0:
                x = i
        i += 1
    return x

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

求两个正整数的最大公约数Python版 的相关文章

  • 操作数无法与形状 (128,) (0,) 错误一起广播

    我正在尝试实现面部识别登录系统 但出现错误 操作数无法与形状 128 0 一起广播 我不知道什么或如何解决它 这是我已实现的 view py 和 FaceDetector py 以及我从服务器收到的错误 errors Traceback m
  • 具有多处理功能的 Python 代码无法在 Windows 上运行

    以下简单的绝对初学者代码在 Ubuntu 14 04 Python 2 7 6 和 Cygwin Python 2 7 8 上运行 100 但在 Windows 64 位 Python 2 7 8 上挂起 我使用另一个片段观察到了同样的情况
  • 子进程改变目录

    我想在子目录 超级目录中执行脚本 我需要首先进入该子目录 超级目录 我无法得到subprocess进入我的子目录 tducin localhost Projekty tests ve python Python 2 7 4 default
  • Python的reduce()短路了吗?

    If I do result reduce operator and False 1000 得到第一个结果后它会停止吗 自从False anything False 相似地 result reduce operator or True 10
  • 将 API 数据存储到 DataFrame 中

    我正在运行 Python 脚本来从 Interactive Brokers API 收集金融市场数据 连接到API后 终端打印出请求的历史数据 如何将数据保存到数据帧中而不是在终端中流式传输 from ibapi wrapper impor
  • Scikit-learn 的内核 PCA:如何在 KPCA 中实现各向异性高斯内核或任何其他自定义内核?

    我目前正在使用Scikit learn 的 KPCA https scikit learn org stable modules generated sklearn decomposition KernelPCA html对我的数据集执行降
  • 如何在 ReportLab 段落中插入回车符?

    有没有办法在 ReportLab 的段落中插入回车符 我试图将 n 连接到我的段落字符串 但这不起作用 Title Paragraph Title n Page myStyle 我想要这样做 因为我将名称放入单元格中 并且想要控制单元格中的
  • 如何找到列表S的所有分区为k个子集(可以为空)?

    我有一个唯一元素列表 比方说 1 2 我想将其拆分为 k 2 个子列表 现在我想要所有可能的子列表 1 2 1 2 2 1 1 2 我想分成 1 1 2 我怎样才能用 Python 3 做到这一点 更新 我的目标是获取 N 个唯一数字列表的
  • 为什么我的scoped_session 引发 AttributeError: 'Session' object has no attribute 'remove'

    我正在尝试建立一个系统 将数据库操作优雅地推迟到单独的线程 以避免在 Twisted 回调期间发生阻塞 到目前为止 这是我的方法 from contextlib import contextmanager from sqlalchemy i
  • 为 Networkx 图添加标题?

    我希望我的代码创建一个带有标题的图 使用下面的代码 可以创建绘图 但没有标题 有人可以告诉我我做错了什么吗 import pandas as pd import networkx as nx from networkx algorithms
  • Django - 电子邮件发送两次

    每当我使用如下所示的电子邮件设置从views py调用下面的方法时 电子邮件的两份副本都会发送给收件人 并且我收到如下所示的错误 def sendEmailBasic request msg EmailMessage Request Cal
  • 为什么“return self”返回 None ? [复制]

    这个问题在这里已经有答案了 我正在尝试获取链的顶部节点getTopParent 当我打印出来时self name 它确实打印出了父实例的名称 然而 当我回来时self 它返回 None 为什么是这样 class A def init sel
  • Spark中的count和collect函数抛出IllegalArgumentException

    当我使用时抛出此异常时 我尝试在本地 Spark 上加载一个小数据集count 在 PySpark 中 take 似乎有效 我试图搜索这个问题 但没有找到原因 看来RDD的分区有问题 有任何想法吗 先感谢您 sc stop sc Spark
  • 如何在C++中列出Python模块的所有函数名称?

    我有一个 C 程序 我想导入一个 Python 模块并列出该模块中的所有函数名称 我该怎么做 我使用以下代码从模块中获取字典 PyDictObject pDict PyDictObject PyModule GetDict pModule
  • 如何向 SCons 构建添加预处理和后处理操作?

    我正在尝试在使用 SCons 构建项目时添加预处理和后处理操作 SConstruct 和 SConscript 文件位于项目的顶部 预处理动作 生成代码 通过调用不同的工具 gt 不知道在此预处理之后将生成的确切文件 可以创建用于决定生成哪
  • Jupyter Notebook:没有名为 pandas 的模块

    我搜索了其他问题 但没有找到任何有帮助的内容 大多数只是建议您使用 conda 或 pip 安装 pandas 在我的 jupyter 笔记本中 我试图导入 pandas import pandas as pd 但我收到以下错误 Modul
  • 在Python中从日期时间中减去秒

    我有一个 int 变量 它实际上是秒 让我们调用这个秒数X 我需要得到当前日期和时间 以日期时间格式 减去的结果X秒 Example If X是 65 当前日期是2014 06 03 15 45 00 那么我需要得到结果2014 06 03
  • 在游戏中实现功能

    我在完成这部分作业时遇到了麻烦 我必须宣布游戏的获胜者 然后输入到函数中 输入所有 if 语句后 我必须创建一个函数def playGame 这必须包括 showRules user getUserChoice computer getCo
  • Python 枚举子集迭代

    我想迭代以下枚举的子集 class Items enum Enum item1 0 item2 1 item3 2 item4 3 item5 4 item6 5 item7 6 item8 7 说我想 for item in Items
  • 为什么用字符串和时间增量转置 DataFrame 会转换数据类型?

    这种行为对我来说似乎很奇怪 id列 字符串 在转置后转换为时间戳df如果另一列是时间增量 import pandas as pd df pd DataFrame id 00115 01222 32333 val 12 14 170 df v

随机推荐

  • 【Verilog】ROM & RAM

    文章目录 RAM ROM ROM 只读存储器 概念 源代码 testbench 仿真波形 RAM 随机访问内存 概念 源代码与testbench 仿真波形 RAM ROM ROM 只读存储器 概念 ROM内部的数据是在ROM制造工序中 在工
  • IDEA创建Maven项目 利用Junit进行单元测试

    文章目录 一 构建Maven项目 1 新建maven项目 File gt New gt Project 2 输入GroupId和ArtifactId 前者定义项目组 后者定义项目名称 3 配置Maven 4 finish 项目骨架如下 5
  • dncnn图像去噪_基于GANs训练去噪深度神经网络实现了良好的图像盲去噪效果

    从包含噪音的图像中去除未知噪音是一项充满挑战的工作 由于缺乏有效的训练数据使得这一领域面临许多问题 中山大学的研究人员们提出了一种 两步走 的框架 通过GANs训练输入图像的噪声分布来并利用生成的噪声样本生成了丰富的训练数据 并基于此训练了
  • Java中存储金额的数据类型-BigDecimal

    在程序中存储金额的数据类型用 java math BigDecimal 在数据库中存储金额的数据类型用 decimal 金额必须是完全精确的计算 故不能使用double或者float 长度可以自定义 如10 小数点在项目中用的是2 保留2位
  • Q2净利润同比下降17% ,英特尔该如何应对强势崛起的AMD?

    7月26日 英特尔发布了其2019年第二季度财报 根据其最新财报来看 净利润同比下滑了17 但第二季度的业绩超出了华尔街分析师预期 第二季度营收为165亿美元 市场分析师预期157亿美元 同时根据第二季度的表现 英特尔也提高了第三季度和全年
  • 用Selenium测试web应用

    问题1 当用户在网上商店购物时 一次完整的购买流程需要用户进行好几个步骤的操作 包括选择商品 填写订单信息 选择支付方式 确认订单等 涉及四到五个页面以及数十个类的协作 如何在开发过程中始终确保该流程能够正确无误 畅通无碍 问题2 客户提出
  • 以MacOS 13为例,VMware 16安装MacOS

    因为临时需要用到MacOS和Linux 手边又没有Mac机器 只能拿虚拟机应急 最终感受很差 除非应急 不然绝对不推荐 先声明缺点 无法连接网络 至少拨号型校园网不行 由于读不到显卡使用起来很卡 时常无故重启 如果你能接受这些缺陷 只是先看
  • 怎么将webm格式转换成mp4,3招轻松学

    怎么将webm格式转换成mp4 相对于已经广为人知的MP4 还有许多人对于WebM这种视频格式不太熟悉 WebM是一种免费开源的媒体文件格式 虽然Web 目前应用范围越来越广泛 但大家还是更习惯使用MP4 因为mp4是目前最为流行的视频文件
  • BI大数据到底是什么

    在互联网时代 大数据炙手可热 许多人言必称大数据 但能够真正说清大数据为何物的人并不多 如何借助大数据挖掘出巨大的商业价值 究竟如何定义大数据 大数据有哪些特征 本文旨在理清大数据概念 阐明大数据应用方式及探究未来大数据发展之道 1 大数据
  • 机器人抓取检测技术的研究现状

    1 分析法 图 1 为分析法在进行抓取检测时所采用的 一般策略 3 3 Sahbani A El Khoury S Bidaud P An overview of 3D object grasp synthesis algorithms J
  • 使用动态IP是否会影响网络

    今天我们要谈论的话题是关于动态IP和网络的关系 也许有些小伙伴对这个概念还比较陌生 但别担心 我会简单明了的给你理清楚 让我们一起看看动态IP到底能否影响到网络 首先 我们先来搞明白什么是动态IP 在互联网世界中 每一个连接到网络的设备都被
  • SpringCloud是什么?

    参考链接 http blog csdn net forezp article details 70148833 一 概念定义 Spring Cloud是一个微服务框架 相比Dubbo等RPC框架 Spring Cloud提供的全套的分布式系
  • 网络安全技术(刘化君)第一章课后答案

    补充第七题答案 近年来 网络安全攻击事件层出不穷 以下是一些常见的网络安全攻击事件及其攻击手段 勒索软件攻击 勒索软件通过加密用户数据或控制用户设备来勒索赎金 攻击手段主要包括利用漏洞入侵 网络钓鱼 邮件附件等方式传播勒索软件 并利用加密技
  • Android “adb”不是内部或外部命令,也不是可运行的程序或批处理文件

    在Android Studio app真机测试中adb可以轻松找到安卓设备 ADB全称Android Debug Bridge 用于Android设备进行交互 也可以这样理解ADB是Android Studio连接安卓设备之间的一个桥梁或者
  • [1154]如何将字符串转换为datetime

    usr bin env python coding utf 8 import datetime import time 日期时间字符串 st 2017 11 23 16 10 10 当前日期时间 dt datetime datetime n
  • Unity踩坑 - 自定义动画事件Animator事件帧设置后不触发的情况

    动画设置 选择动画窗口并且设置事件 拖动到自己想要触发的位置 具体调整可以打开动画窗口 选择对应的Clip进行逐帧控制 设置事件 在这里写要触发的函数的名称 1 函数权限必须是Public的 2 大小写敏感 并且前后不能有空格 3 触发动画
  • Django REST framework中的序列化Serializers

    序列化器允许将诸如查询集和模型实例之类的复杂数据转换为原生 Python 数据类型 然后可以将它们轻松地呈现为 JSON XML 或其他内容类型 序列化器还提供反序列化 在首次验证传入数据之后 可以将解析的数据转换回复杂类型 简单来说 服务
  • 性能测试的指标

    性能测试的常见指标有 响应时间 并发数 吞吐量 点击数 错误率和资源利用率 一 响应时间 指的是用户从客户端发起一个请求开始 到客户端接收到从服务器端返回的结果 整个过程所耗费的时间 不包括前端页面的处理时间和渲染时间 这也是客户最能只管感
  • 蓝桥杯第七届模拟风扇

    一 初始化系统 首先将系统初始化 关闭蜂鸣器继电器 include STC15 h define uchar unsigned char define uint unsigned int void InitHC138 uchar n swi
  • 求两个正整数的最大公约数Python版

    求两个数的最大公约数我分别采用辗转相除法 辗转相减法 枚举法来求得 最小公倍数就是两个数之积除以最大公约数的结果 1 辗转相除法 思路 1 将两整数求余 a b x 2 如果x 0 则b为最大公约数 3 如果x 0 则 a b b x 继续