目录
主要内容是校设课程的习题和课外学习的一些习题。
题目
谁先掉进陷阱
- 题目
- 输入
分三行输入3个整数,分别表示黄鼠狼每跳一下的距离skunk、狐狸每一跳的距离fox和陷阱间距trap
- 输出
先掉入陷阱的动物名,一个字符串
- 示例
实现思路
要求动物一跳正好跳进了陷阱,也就是求最小公倍数,最小公倍数越小就越早踩到陷阱。
这里先用辗转相除法计算得到了最大公约数,2数相乘后除以最大公约数得到最小公倍数。
欧几里得算法又称辗转相除法,是指用于计算两个非负整数a,b的最大公约数。应用领域有数学和计算机两个方面。计算公式gcd(a,b) = gcd(b,a mod b)。
定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。最大公约数(Greatest Common Divisor)缩写为GCD。
实现代码
# @Time : 2022/3/2 15:26
# @Author : 南黎
# @FileName: 草稿纸.py
import math
a=eval(input())
b=eval(input())
c=eval(input())
#得到最大公约数
def gcd(a,b):
if a < b:
temp = b
b = a
a = temp
remainder = a % b
if remainder == 0:
return b
else:
return gcd(remainder,b)
#求得最大公倍数,越大越晚被抓到
if a*c/gcd(a,c)<b*c/gcd(b,c):
print("黄鼠狼")
else:
print("狐狸")
总结
大家喜欢的话,给个👍,点个关注!给大家分享更多有趣好玩的Python习题!
版权声明:
发现你走远了@mzh原创作品,转载必须标注原文链接
Copyright 2022 mzh
Crated:2022-3-1