Python- 查找最小公倍数

1.题目:

一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几?

2.分析:

(1) 第一层分析:

要找的这个数为 x x x,则根据题意需满足:
( x + 3 ) % 5 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 0 (x + 3) \%5 ······0 (x+3)%5⋅⋅⋅⋅⋅⋅0
( x − 3 ) % 6 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 0 (x - 3)\%6 ······0 (x−3)%6⋅⋅⋅⋅⋅⋅0
这种情况下其实就可以用累加方式逐个去试一试能否同时满足两个条件。这种方法在寻找较小的最小公倍数时可能较为快速有效,但是一旦最小公倍数过大的话寻找起来会比较浪费时间

(2) 第二层分析

我们可以将 x + 3 x+3 x+3看做一个整体,这个整体用 y y y来表示,我们可以看到 y y y首先是5的倍数。而且 y y y此时比原来的 ( x − 3 ) (x - 3) (x−3)多6,因为:
y − ( x − 3 ) = ( x + 3 ) − ( x − 3 ) = 6 y -(x - 3) = (x + 3) - (x - 3) = 6 y−(x−3)=(x+3)−(x−3)=6因此,我们可以先找出5的公倍数,然后逐一对6进行整除,当满足这两个条件后,说明找到了这个最小公倍数 y y y。此时再根据题目要求,得到 x = y − 3 x = y - 3 x=y−3

3.代码示例

x = 5
while x % 5 == 0:if (x - 6)% 6 == 0:breakelse:x += 5
print(x - 3)

4.引申:寻找最小公倍数

前面的代码可以比较容易得找出满足题目要求的数字,当然这是针对较小整数之间的代码参考。我们发现经过适当修改,上述代码也可以用于寻找较小整数之间的最小公倍数。

# -*- coding: cp936 -*-
#先从键盘读入两个数字
x = int(raw_input("Please input first number: \n"))
y = int(raw_input("Please input second number: \n"))#用m和n暂时存储需要找出的最小公倍数的因数
m = x
n = y#遍历寻找
while x % m == 0:if x % y == 0:breakelse:x += m#打印出最终结果print(x)
  • 请注意在不同python版本下的raw_input()input用法
  • python2中,raw_input()将输入所有内容均转换为字符串,input()的效果则是输入什么就是什么
  • python3中,两个函数都将输入内容转换为字符串
  • 值得注意的是,这段代码仅仅是对较小整数寻找最小公倍数写的解决办法,并没有考虑碰到零,负数等情况。实际上,这样很容易出现bug,需要在考虑安全性的情况下,对各种情况加以考虑。

Python- 查找最小公倍数相关推荐

  1. Python查找-二分查找

    Python查找-二分查找 二分查找 折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务. 它的基本思想是,将n个元素分成个数大致相 ...

  2. python查找文件夹下的文件,python 查找文件夹下所有文件 实现代码 -电脑资料

    复制代码代码如下: def find_file_by_pattern(pattern='.*', base=".", circle=True): '''''查找给定文件夹下面所有 ...

  3. python查找指定字符所在行号_python查找字符串中某个字符

    本文收集整理关于python查找字符串中某个字符的相关议题,使用内容导航快速到达. 内容导航: Q1:Python里统计一个字符串中另一个字符串的个数 答案为3(用正则):1234>>&g ...

  4. python信息找人的算法_算法篇-python查找算法

    上一篇的递归算法中,了解到算法的复杂度.递归就是在函数中调用本身. 在汉诺塔游戏例子中,如果你需要移动的盘子很多时,程序运行就会消耗很长时间来计算结果.可以回顾下 ->算法篇-python递归算 ...

  5. 我如何使用Python查找有趣的人来关注Medium

    by Radu Raicea 由Radu Raicea 我如何使用Python查找有趣的人来关注Medium (How I used Python to find interesting people ...

  6. python判断最小公倍数

    python判断最小公倍数 1.问题 2.代码 x=eval(input("x=:")) y=eval(input("y=:")) i=y while True ...

  7. python查找关键字所属行_Python查找文件有多牛?男默女泪!!!

    某天,隔壁大神正在看一份内核技术文档,我想研读下文档向大神"偷师",恰好我的虚拟XP桌面无法使用搜索功能,而且项目组一般是一起使用共享目录的,这就导致大量资料杂糅在一起,我要找到大 ...

  8. python 查找excel表格中重复的信息并标出来

    Python之PyMuPDF--批量处理一个PDF文件中发票的总金额提取 python 查找excel表格中重复的信息并标出来 python 提取excel表格中指定的关键字 python 批量修改文 ...

  9. Python查找特定名称文件

    Python查找特定名称文件(Day1) 问题描述: 遍历"Day1-homework"目录下文件: 找到文件名包含"2020"的文件: 将文件名保存到数组re ...

  10. python 查找字符串

    在我们的生活中,有很多人都会用到查找字符串,比如说我找了一堆字符串,然后我想要通过这个字符串去找一个单词,这样就是用查找字符串的方式,今天就和大家分享一下 python查找字符串. 首先我们先来了解一 ...

最新文章

  1. java接口防抖_前端性能优化:高频执行事件/方法的防抖
  2. 腾讯员工中66%是研发,用C++最多,去年新写12.9亿行代码
  3. C#调用Oracle存储过程分页
  4. 使用WinSCP上传文件到指定服务器
  5. vue项目开发实战案例_Vue、Spring Boot开发小而完整的Web前后端分离项目实战02
  6. 揭晓远程证明架构EAA:机密容器安全部署的最后一环 | 龙蜥技术
  7. 直播带货选品的时候要优先关注这三个关键点
  8. Java并发 乐观锁和悲观锁 乐观锁的一种实现方式CAS
  9. 新型智慧城市城市大脑大数据平台顶层设计规划建设方案
  10. 电力猫服务器的网页,电力猫的安装与连接方式
  11. vue前端实现语音提示功能
  12. ros中的launch文件
  13. 纸带打点计算机是什么原理,从电火花打点计时器高清拆解图,分析构造,详细解读电路工作原理...
  14. 2021年秋招面经分享·地平线【芯片设计研发工程师】
  15. 新松机器人BG总裁高峰_新松机器人:做一个有价值的机器人企业!
  16. 如何检查DirectX的版本(用于Windows Phone Developer Tools的安装检查)
  17. mysql变量环境配置文件_Day44 Mysql环境变量、配置文件(2)
  18. hadoop之mapreduce教程+案例学习(二)
  19. 分析2440开发板和4412开发板的性价比_初学者你们怎么看?
  20. 7-5 先序序列+中序序列建立二叉树

热门文章

  1. 同样采用WordPress搭建的网站,如何让你的网站更快更安全?
  2. SAI在纳斯达克上市:作价1.88亿美元 成芯片供热第一股
  3. 吴恩达.深度学习系列-C4卷积神经网络-W2深度卷积模型案例
  4. pythonopencv检测行人_行人检测 基于 OpenCV 的人体检测
  5. 神奇宝贝游戏 1.12
  6. 入驻园区享受税收优惠政策注意事项有哪些?税收返还
  7. VMware+Windgb+Win7内核驱动调试
  8. 什么是数据传输服务DTS
  9. 【音频处理】音名 与 音高 对照表
  10. PX4模块设计之三十四:ControlAllocator模块