网站首页 > 基础教程 正文
1、编程试题:
编写一个程序,找出能被从1到给定数字n(包括n)的所有数字整除的最小正数(即最小公倍数)。
定义函数smallest_multiple()的函数,参数为n。
在函数内,返回能被从1到给定数字n(包括n)的所有数字整除而无余数的最小正数。
备注:比如,对于输入5,最小公倍数是60,因为60能被1、2、3、4、5整除,且是最小的正数
2、代码实现:
#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time : 2024/1/6 19:13
# @Author : fangel
# @FileName : 31. 最小公倍数.py
# @Software : PyCharm
#求两个数的最大公约数
def gcd(a,b):
while(a%b != 0):
c = a % b
a = b
b = c
return b
def smallest_multiple(n):
#考虑特殊情况
if n == 1 or n == 2:
return n
a = 2
#从3开始循环
for j in range(3,n+1):
b = j
num = a * b
#最小公倍数即两个数的乘积除以最大公约数
tmp = num / gcd(a,b)
a = tmp
return int(tmp)
# 输入n
n = int(input())
# 调用函数
print(smallest_multiple(n))
3、代码分析:
该题目考察两个数最小公倍数的算法,即两个数的乘积除以最大公约数,然后依次循环,求出指定数以内的最小公倍数。可以参考下面的示意图
4、运行结果:
输入:6
输出:60
输入:10
输出:2520
猜你喜欢
- 2024-10-30 30 个 Python常用的语法汇总! python常用方法大全
- 2024-10-30 Python解小学奥数的数学题 python算数学题
- 2024-10-30 浅学Python | 案列分析(下) python案例分析
- 2024-10-30 30个常用Python实现,新手必备! python的妙用
- 2024-10-30 Python基础教程:Day04-循环结构 python循环结构有哪些
- 2024-10-30 结了30个Python常用基础语法,希望对你们有帮助!
- 2024-10-30 「LeetCode算法精讲」计算小于n的质数数量(Python)
- 2024-10-30 Python基础教程:Day06-函数和模块的使用
- 2024-10-30 Python 100天从新手到大师 | Day 6 函数和模块使用
- 2024-10-30 初学Python最简易入门之十六小程序集锦
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)