python每日经典算法题5(基础题)+1(中难题)

本文分享了5道基础Python算法题,包括判断闰年、质数、输出素数范围、约瑟夫问题和二分查找,以及1道中等难度的两数之和问题。通过实例解析和高效解法,帮助读者巩固Python语法和提高算法应用能力。
摘要由CSDN通过智能技术生成

  现在,越来越多的公司面试以及考验面试对算法要求都提高了一个层次,从现在,我讲每日抽出时间进行5+1算法题讲解,5是指基础题,1是指1道中等偏难。希望能够让大家熟练掌握python的语法结构已经一些高级函数的应用。这些题目是在某些刷题的网站上登记的有水平的题目。这里如果有需要input的简单题,就略去了输出结果。如果时间充裕,则就会增加每日更多习题。

 

一:基础算法题5道

1.判断用户输入的年份是否为闰年

题目解析:

(1)问题分析:能被4整除但不能被100整除的年份为普通闰年,能被400整除的年份为世纪闰年,判断是否满足上述情况

(2)算法分析:输入一个数,先判断如果是400的倍数,则满足;如果不是400的倍数,再判断如果该数能够被4整除,却不能被100整除,则满足。

(3)用到的python语法:input()标准输入函数,if判断语句,or,and逻辑运算符。

(4)博主答题代码:

n = int(input('请输入年份:'))
if n % 400 == 0 or n % 4 == 0 and n % 100 != 0:
    print('{0}是闰年'.format(n))
else:
     print('{0}不是闰年'.format(n))

(5)高效方法:
python 的 calendar 库中已经封装好了一个方法 isleap() 来实现这个判断是否为闰年:

import calendar

n = int(input("请输入年份:"))
year = calendar.isleap(n)
if year == True:
    print ("{0}是闰年".format(n))
else:
    print ("{0}不是闰年".format(n))

 

2.判断一个数是否是质数

题目解析:

(1)问题分析:除了1和它本身以外不再有其他的因数的数就是质数

(2)算法分析:输入一个数,如果该数大于1,则从2开始循环到该数并一一整除该数,如果余数为0,则该数不是质数;否则该数是质数。

(3)用到的python语法:input()标准输入函数,for循环,if判断语句。

(4)博主答题代码:

n = int(input(''))
if n > 1:
    for i in range(2,n):
        if n % i == 0:
            print('{0}不是质数'.format(n))
            print('{n}={a}*{b}'.format(n=n,a=i,b=int(n/i)))    # 这里也可为b=n//i
            break
        else:
            print('{0}是质数'.format(n))
            break

这时如果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值