钗染星星 2021-04-26 22:39 采纳率: 33.3%
浏览 630
已采纳

找自守数 找出1000以内的自守数。自守数的平方的尾数部分就是该数本身。如5、6、25、76等

找自守数 找出1000以内的自守数。自守数的平方的尾数部分就是该数本身。如5、6、25、76等 思路:即判断一个数的平方的尾数部分是否等于该数。因选取尾数的位数有所不同,故先要判断这个数是一个几位数?
  • 写回答

1条回答 默认 最新

  • CSDN专家-lynn 2021-04-27 00:08
    关注

    不用判断几位数,从1开始循环到1000就行了,然后在循环体内计算每个数的平方,然后从平方数个位开始,依次和原数比较,如果匹配则退出循环。

    我用python 实现了一下:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    #判断一个数末尾是否等于另外一个数
    def hasNumEnd(j,i):
        s = str(j)
        num = ''
        for k in range(len(s)-1,-1,-1):
            num = s[k] + num
            if(int(num) == i):
                return True
        else:
            return False
    
    if __name__ == '__main__':
        for i in range(1,1000):
            j = pow(i,2)
            if(hasNumEnd(j,i)):
                print i

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?