整理了一下基本倒转、回文、素数算法
写博客不易,写代码更不易
我写代码调试的时候,一会儿死循环,一会儿那令人心碎的一片红……
这个库用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