python 每隔10个数计算2次(个位为5、6的数)

自守数

http://www.nowcoder.com/questionTerminal/88ddd31618f04514ae3a689e83f3ab8e

while True:
    try:
        n = int(input())
        if n == 0:
            print(1)
        elif n == 1:
            print(2)
        else:#n >= 2
            res = 2
            i = 5#除了0,1,只有个位数是 5 或 6 才有可能是自守数
            while i <= n:
                if str(i**2).endswith(str(i)):
                    res += 1
                if i+1<= n and str((i+1)**2).endswith(str(i+1)):
                    res += 1
                i += 10
            print(res)
    except:
        break
全部评论

相关推荐

02-14 12:40
门头沟学院 Java
程序员花海:1.面试要求必须Java笔试不一定 2.难度对等秋招 远超于日常实习是因为同一批次且转正很多 竞争压力大 3.第一个加点指标,上线了就把接口性能加上去 使用本地缓存这个不算亮点 只是技术选型,要把为什么采用这个和背后的思考写出来而不是单纯堆叠技术没意义 4.八股要一直看 很容易忘记 5.拼团交易这个老问题 堆积技术 另外建议你把奖项合并到教育背景 没必要拆出来放最后
我的简历长这样
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务