通过一个简单的算法来了解reduce的巧用。

构建函数persistence(n),如果n>9,则返回0.否则继续根据n的权重来分解n,如n=999,则分解为9,9,9.那么将9*9*9=729继续做以上判断,直到n<-9,结果输出为2,而persistence(4)则为0.

利用python的强制转换将int转换为str后巧用reduce可以简单的实现。

 import operator
def persistence(n):
i = 0
while n > 9:
n = reduce(operator.mul,[int(y) for y in str(n) ], 1)
i += 1
if i != 0:
return n
else:
return i

简单的记录下。

最新文章

  1. ASP.NET程序中常用的三十三种代码
  2. SQL Develop SSH远程连接
  3. paip.windows io监控总结
  4. matcaffe的blob维度顺序
  5. 可能是一份没什么用的爬虫代理IP指南
  6. js添加多个样式属性cssText
  7. Rational Rose_2007的下载、安装与破解--UML建模软件
  8. form表单序列化为Jquery对象
  9. cocos creator 碰撞检测
  10. python修炼第五天
  11. 第5-7次OO作业总结分析
  12. Tomcat启动特慢之SecureRandom问题解决
  13. C# WinForm 实现窗体淡入淡出
  14. Django开启国际化的支持
  15. Arduino IDE for ESP8266 ()esp8266项目 WIFI攻击器
  16. 【Java】 剑指offer(9) 斐波那契数列及青蛙跳台阶问题
  17. ettercap+arpspoof进行HTTP信息嗅探
  18. A look at WeChat security
  19. Android下基于SDL的YUV渲染
  20. n个括号对的所有可能情况

热门文章

  1. Apworks到底是什么?
  2. 园 首页 新随笔 联系 管理 订阅 订阅 RTSP协议转换RTMP直播协议
  3. IOS学习之路五(代码实现UITableView)
  4. IOS7学习之路三(UISpriteKit游戏开发SKNode)
  5. jQuery获取checkbox选中项等操作及注意事项
  6. CSS border-radius 圆角
  7. Linux centOS本地DNS安装
  8. make deb for debian/ubuntu, package software for debian/ubuntu
  9. Arduino 各种模块篇 摇杆模块
  10. Static 单例模式