题解 | #自守数#

自守数

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

#居然一次性通过了。。。还以为要处理0的特殊情况呢。。。
while True:
    try:
        n = int(input())
        count = 0
        for i in range(n+1):
            #下面这部分主要是计划当前数据的位数,以便于决定从i*i的结果中取出末尾几位数
            temp = i
            len_i = 0
            while(temp!=0):
                temp = int(temp/10)
                len_i+=1
            #从i*i中取出相应的位数,与原数对比,相等则计算上。
            if (i*i) % (10**len_i) == i:
                count+=1
        print(count)
    except:
        break
        
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务