问题

2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any remainder.

What is the smallest positive number that is evenly divisible by all of the numbers from 1 to 20?

2520可以被1-10的每一个数整除,能被1-20每个数整除的最小的正数是多少?

思路

  1. 该题目本质上是求解1-20的最小公倍数,我们可以先求两个数字的最小公倍数,再将其扩展到多个数字的最小公倍数。

  2. 根据 两个数字的最小公倍数 * 两个数字的最大公因数 = 两个数字的乘积 这一规律,要求解两个数字的最小公倍数,我们可以先求解两个数字的最大公因数。

  3. 最大公因数可以使用辗转相减法求解。

辗转相减法

用较大的数字减去较小的数字,直到两个数字相同时,相同数字即为两个数字的最大公因数。

举例:求解(35,28)的最大公因数

(35,28)中,35较大,用35减去28

->(7,28)中,28较大,用28减去7

->(7,21)中,21较大,用21减去7

->(7,14)中,14较大,用14减去7

->(7,7),两数字相同,即7为35和28的最大公因数

代码实现(python)

# # 先使用辗转相减法法计算两个数的最大公因数,再由此计算两个数的最小公倍数,最后再将两个数的最小公倍数扩展至多个数的最小公倍数import numpy as np# # 求两个数字的最大公因数
def cofactor_2(a, b):while a != b:if a > b:a = a - belif a < b:t = aa = bb = treturn a# # 求两个数字的最小公倍数
def comultiple_2(a, b):c = a * bmincomult = c / cofactor_2(a, b)return mincomult# # 求多个数字的最小公倍数
def comultiple_mul(shuzu):a = shuzu[0]b = shuzu[1]index = 1for i in range(len(shuzu)-1):a = comultiple_2(a, b)if index < len(shuzu) - 1:index += 1b = shuzu[index]else:passreturn aif __name__ == '__main__':shuzu = [i for i in range(1, 21, 1)]# print(shuzu)x = comultiple_mul(shuzu)print(x)

欧拉计划 第5题 Smallest multiple相关推荐

  1. 【欧拉计划第 5 题】最小公倍数 Smallest multiple

    Problem 5 Smallest multiple 2520 is the smallest number that can be divided by each of the numbers f ...

  2. 【欧拉计划第 13 题】 大数之和 Large sum

    Problem 13 Large sum Work out the first ten digits of the sum of the following one-hundred 505050-di ...

  3. 详解欧拉计划第395题:毕达哥拉斯树

    本题难度系数为40%(最易5%,最难100%). 毕达哥拉斯树是按如下步骤生成的分形图形: 从一个单位正方形开始,以其中一条边为基底(在图示中,单位正方形下放的边作为基底),给基底所对的边粘连上一个三 ...

  4. 欧拉计划:第53题 Combinatoric selections

    欧拉计划:第53题 Combinatoric selections 无意中知道有这个用编程解决数学题的网站,个人对数学又比较感兴趣,所以打算做个欧拉计划系列,将自己的一些见解分享给大家,第一次写文章, ...

  5. 欧拉计划(project euler)最详细中文题解

    欧拉计划是一个在线解题网站,题目以各类数学问题为主,通常需要结合一定的数学与编程知识,写出适当的程序求解问题(详细介绍可以参见我的文章).相比于力扣等刷题网站,欧拉计划上的题目有着更丰富的知识背景,在 ...

  6. 欧拉计划 Project Euler 50-56

    Project Euler 50-56 Project Euler: https://projecteuler.net/ Project Euler | 欧拉计划: https://pe-cn.git ...

  7. 欧拉计划 P429 (数论)

    欧拉计划 P429 Sum of squares of unitary divisors(数论) 传送门:https://projecteuler.net/problem=429 题目大意: 定义一个 ...

  8. 欧拉计划(鱼C论坛)@20161107

    1.10以下的自然数中,属于3或5的倍数的数字有3,5,6,9,它们之和为23找出1000以下的自然数中,属于3或5倍数的所有数字之和. """ 欧拉计划 10以下的自然 ...

  9. python求直角三角形个数的公式_Python3 欧拉计划 问题71-75

    EulerProject.png 问题66-70参见:https://www.jianshu.com/p/d0fad6213433 71.有序分数 考虑形如n/d的分数,其中n和d均为正整数.如果n ...

最新文章

  1. python语言程序设计——深入学习python
  2. 30天敏捷结果(5):使用热图标识出重要事情
  3. java语言的数组描述_下列关于Java语言的数组描述中,错误的是()。_学小易找答案...
  4. HTML/CSS——网页SVG ICON(小图标)解决方案
  5. .net core 2.0学习笔记(一):开发运行环境搭建
  6. 华中科技大学主校区论文被《SCI》收录的研究
  7. Mac上显示出.m2文件夹并将IDEA中的Maven修改为阿里云镜像
  8. java 上传文件到服务器_java上传文件到OSS云服务器(二)
  9. 【图论】用链式前向星(邻接表)存有向图(图文代码逐句分析)
  10. 1 在c语言中不正确的常量是 a0xf6,C语言第三章在线测试题目及答案
  11. 增值税税控设备(计算机打印机)全额抵扣,在航天金穗购买的打印机、扫描仪是否属于防伪税控设备...
  12. 怎么改变鼠标图案HTML,怎么换鼠标指针的颜色和图案?
  13. apabi无限借阅的研究
  14. [渝粤教育] 九江学院 看影视学社交礼仪 参考 资料
  15. 徐小明:这次我支持房产新政
  16. [OpenHarmony] [RK2206] 构建OpenHarmony编译器 (二)
  17. mysql column specified twice_Mysql抛出Column 'descriptions' specified twice异常解决方法
  18. 华为畅享7鸿蒙,华为畅享7开箱图赏:做工配置表现不俗
  19. 解决 错误: 在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类
  20. 开始做一个简单的记账工具

热门文章

  1. 汇编分分fen析IFELSE
  2. 使用D3.js绘制重庆地图
  3. IT 系统巡检必须关注的指标总结
  4. 日文vista系统改成中文vista系统的一点经验
  5. 企业宣传片如何做?上海宣传片公司拍摄与制作看这里
  6. 软件工程课设--在线投票系统
  7. 【LoRa环境监测系统】
  8. cURL 与 Guzzle 的对比与选用
  9. 一文搞懂CDN加速原理
  10. 如何从头自己制作开发板?图文并茂,一步步操作给你看。