算法基础篇一

1.打印出所有不超过n(n<256)的,其平方具有对称性质的数。如11*11=121.

for  i  in range(1,256):
    if  str(i**2)==str(i**2)[::-1]:##注意是平方
        print(i)

解释:如果逆序之后和原来的结果相同的话那么说明是具有对称性质的数,从1开始取,0的平方也是0,原来的字符串和逆序之后的字符串相等的话说明是对称的。

 2.某人有8 角的邮票5 张,1 元的邮票4 张,1 元8 角的邮票6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?

res=[]
for  x  in  range(6):
    for  y  in  range(5):
        for  z in  range(7):
            res.append(x*8+y*10+z*18)
print(len(set(res))-1)

解释:set就是会将重复的字符给去掉,得到不重复的

3.

for  i in range(1000,10000):
    if  str(i)==str(i*9)[::-1]:
        print(i)

猜你喜欢

转载自www.cnblogs.com/yunxintryyoubest/p/10810773.html
今日推荐