Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数

简介: Python基础作业:百钱百鸡问题、求最大公倍数和最小公约数、判断回文数

一、百钱百鸡问题


题目:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买一百只鸡,其中公鸡、母鸡、小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。


代码如下:

for i in range(1,20): #i是公鸡的数量
    for j in range(1,33): #j是母鸡的数量
        z=100-(i+j) #z是小鸡的数量
        if z%3==0 and i*5+j*3+z/3==100:
            print(f'公鸡:{i}只  母鸡:{j}只  小鸡:{z}只')


运行结果

b9aff774dab04d11a9122aa1e15b54a9.png



二、求最大公倍数和最小公约数


1、求最大公约数的方法:辗转相除法


辗转相除法, 又名欧几里得算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较小数除较大数,再用出现的余数(第一余数)去除除数,再用出现的余数(第二余数)去除第一余数,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。


举例:求2和9的最小公约数



705998007f694ce3ada24e49386206d4.png



注意:两数乘积=两数的最大公因数×两数的最小公倍数



2、具体代码


代码逻辑:用户输入两个数,将这两个数放到一个列表中并从小到大排序,然后用列表中的最大的数li[1]除以最小的数li[0],等到的余数保存在x临时变量中,接着将li[0]的值赋值给li[1],x的值赋值给li[0],一直循环操作,直到余数为0时结束。


a,b=map(int,input('请输入两个数:').split())
c,d=a,b
li=[a,b]
li.sort()
while a!=0 and b!=0:
    x=li[1]%li[0]
    li[1]=li[0]
    li[0]=x
    if li[0]==0: #如果余数为零,则输出结果,跳出循环
        print(f'最大公约数:{li[1]}')
        print(f'最小公倍数:{(c*d)/li[1]}')
        break


三、判断回文数


代码逻辑:用户输入,通过if not num.isdigit()语句判断输入的是否是数字,如果不是数字则通过raise Exception()抛出异常,如果是则判断倒叙和正叙是否相同,如果相同则输出是回文数,如果不相同则输出不是回文数。

def Palindrome_number():
    num=input('请输入数字:')
    if not num.isdigit():
        raise Exception('输入错误哦!请输入数字!')
    if num==num[::-1]:
        print(f'{num}是回文数')
    else:
        print(f'{num}不是回文数')
try:
    print(Palindrome_number())
except Exception as e:
    print(e)



相关文章
|
3月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1完整版-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1完整版-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
63 0
|
3月前
|
机器学习/深度学习 人工智能 算法
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
【代数学作业1-python实现GNFS一般数域筛】构造特定的整系数不可约多项式:涉及素数、模运算和优化问题
57 0
|
2月前
|
Python
Python判断回文数
Python判断回文数
|
2月前
|
Python
Python回文数
Python回文数
25 0
|
3月前
|
Python
python作业题
python作业题
|
5月前
|
Python
【作业】python课-实验一
python课-实验一 01_lambda计算圆
29 0
|
5月前
|
Python
python实现学生信息管理系统(附源码 可供大作业或练习使用)
python实现学生信息管理系统(附源码 可供大作业或练习使用)
160 0
python实现学生信息管理系统(附源码 可供大作业或练习使用)
|
11月前
|
Python
蓝桥杯-寒假作业-python
蓝桥杯-寒假作业-python
49 0
|
12月前
|
图形学 Python
python 从灯塔国某大学的作业题到制作一个“围棋”程序
python 从灯塔国某大学的作业题到制作一个“围棋”程序
77 0
|
12月前
|
存储 Python
基于Python的简易宿舍管理系统(课程作业附课程小论文)
基于Python的简易宿舍管理系统(课程作业附课程小论文)
183 0