整理了一下基本倒转、回文、素数算法,写了一个库

整理了一下基本倒转、回文、素数算法

写博客不易,写代码更不易

我写代码调试的时候,一会儿死循环,一会儿那令人心碎的一片红……

这个库用pip是安装不上的,所以要用这个库的CSDNers,请自行复制代码到一个.py文件,

记得保存好!

后继我还会发布另外的一些库,大家如有需要同样自行复制,不要尝试pip!

————————————————废话不说,上代码吧!————————————————

#倒转,回文,素数不仅是考试的热点,还是各大互联网公司面试程序员的热点
#使用时记得思考每一个def下每一行代码的作用

#倒转部分
#参考数据
xl1='rrgbbbb'
xl2='1122rggbb'
sy1=256
sy2=129
ry1=1159
ry2=520668
ry3=6496
ls1=[2,45,'leo',23]
ls2=[13,2,'wry',44]

#常见的基础倒转方法
#字符串/列表倒转
def ree1(s):
    return s[::-1]

#列表倒转,不能用于字符串
def ree2(s):
    r=s.reverse
    return r

#字符串倒转
def ree3(s):
    r=''
    for i in s:
        r=i+r
    return r

#常用数字倒转(以三位数为例)
#逐位解析法
def n3r1(s):
    a01=s%10
    a02=s%100//10
    a03=s//100
    ss=a01*100+a02*10+a03
    return ss

#取余-整除法
def n3r2(s):
    t=0
    while s!=0:
        m=s%10
        t=t*10+m
        s=s//10
    return t

#双转法
def n3r3(s):
    return int(str(s)[::-1])

#转转法
def n3r4(s):
    r=''
    while s!=0:
        m=s%10
        r=r+str(m)
        s=s//10
    return r

#任意位数字倒转
smi='对于任意位数字倒转,逐位解析法是无法完成的,\
而取余-整除法(n3r2),双转法(n3r3),转转法(n3r4)依然可以使用'

#回文部分
#参考数据
sh1='01jpj10'
sh2='20bggb02'
sh3='leoleleo'
sh4='lloeolo'
sh5=3201
sh6=5335
sh7=9441449
sh8=1346001

#以下函数仅适用于字符串,在用于回文数时先使用str()把整型变量转为字符串
#暴力倒转法
def zhw1(s):
    return s==s[::-1]

#转半法
def zhw2(s):
    mid=len(s)//2
    lf=s[0:mid]
    tp=s[-mid:]
    rt=''
    for i in range(len(tp)):
        rt+=tp[len(tp)-i-1]
    return lf==tp

#素数部分
#参考数据
ck1=131
ck2=109
ck3=1001
ck4=747

#素数判定时,判定2至二次根原数中的每一个数能否整除于原数即可
def spd1(s):
    Flaq=True
    m=int(s**0.5)
    for i in range(2,m+1):
        if s%i==0:
            Flaq=False
            break
    return Flaq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值