欢迎光临散文网 会员登陆 & 注册

Python编程算法【二十六】自守数

2022-11-22 21:20 作者:SPC编程爱好者  | 我要投稿

【案例内容】 

5%5E2%20%3D%2025%EF%BC%8C25%5E2%20%3D625%EF%BC%8C76%5E2%20%3D5776%20...%E6%B1%8210000%E4%BB%A5%E5%86%85%E7%9A%84%E8%87%AA%E5%AE%88%E6%95%B0%E3%80%82


【解题思路】

本题可借助将 int 型转换为 str 型的思路来解答。先将某数 n 的平方求出,并用变量 square 存储,接着将数字 n 转为字符型,再用 len 函数求出它的长度,假设为 n_length,也就是 n 的位数。同理,也将 square 转为字符型,也求出它的长度,假设为  square_length。然后,通过字符串切片的方式,获得子字符串 [square_length-n_length:] 的切片内容,冒号右侧不写,表示取到字符串的结尾。最后,只需要判断,转成字符型的 n 与 刚刚获取到的子字符串是否相等,就可以验证数字 n 是否为自守数。


【Python代码】

以上为10000以内的自守数

有时借助 int 型与 str 型的相互转换,可以突破常规、另辟蹊径,把原本按部就班的解题过程,变得更加巧妙与便捷。通过编程,可以感受到,有时换个思路,很可能就能换个出路。

Python编程算法【二十六】自守数的评论 (共 条)

分享到微博请遵守国家法律