lanqiao

快速幂

def power_mod(a,b,m): 
    result=1
    a%=m
    while b>0:
        if b%2==1:
            result=(result*a)%m
        a=(a*a)%m
        b//=2
    return result%m
'''a是底数b是底数m是取余的模数'''

年龄最小

输入n个学生的姓名和对应的生日(格式:年-月-日),输出年龄最小的学生的姓名(假设该学生是唯一的)。

输入格式:

输入整数n,然后输入n个人的姓名(字符个数不超过30)和对应的生日(格式:年-月-日,年月日都是整数)。

输出格式:

年龄最小的学生的姓名。

输入样例:

4
zhang 2000-12-11
wang 2000-12-2
li 2000-12-1
zhao 2000-12-3

输出样例:

zhang

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

栈限制

8192 KB

from datetime import datetime
def main():
    n=int(input())
    students=[]
    for i in range(n):
        ls,birth=input().split()
        b_date=datetime.strptime(birth,'%Y-%m-%d')
        students.append((ls,b_date))
    min_age=float('inf') #正无穷大
    name=""
    for stu in students:
        age=(datetime.now()-stu[1]).days#现在距离生日的天数
        if age<min_age:
            min_age=age
            name=stu[0]
    print(name)
if __name__=='__main__':
    main()

辗转相除法

题目描述

两行输入两个整数,输出这两个整数的最小公倍数

输入

两行输入两个整数a,b

输出

两个整数的最大公约数

样例输入 复制

27
21

样例输出 复制

189
提示

两个数的最小公位数为它们的乘积除以最大公约数

a,b <= 10^8

a=int(input())
b=int(input())
d=1
cj=a*b #乘积
while d>0:
    d=a%b
    a=b
    b=d#辗转相除
print(int(cj/a))#两个数的最小公倍数为他们的乘积除以最大公约数

【搜索基础】 输出全排列

很简单,输出1-N 全排列即可。

建议手写,不要用函数哦。

样例输入说

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值