6kyu Persistent Bugger

题目:

Write a function, persistence, that takes in a positive parameter num and returns its multiplicative persistence, which is the number of times you must multiply the digits in num until you reach a single digit.

For example:

persistence(39) === 3 // because 3*9 = 27, 2*7 = 14, 1*4=4
// and 4 has only one digit

persistence(999) === 4 // because 9*9*9 = 729, 7*2*9 = 126,
// 1*2*6 = 12, and finally 1*2 = 2

persistence(4) === 0 // because 4 is already a one-digit number

答案: 

    // 1

function persistence(num) {

var times = 0;

num = num.toString();

while (num.length > 1) {

times++;

num = num.split(‘‘).map(Number).reduce((a, b) => a * b).toString();

}

return times;

}

// 2

const persistence = num => {

return `${num}`.length > 1 ? 1 + persistence(`${num}`.split(‘‘).reduce((a, b) => a * +b)) : 0;

// +b 隐式类型转换 字符串转数字 +前为空自动默认为求和运算而不是字符串拼接

// * - / % 都可以隐式类型转换 字符串转数字

// 此处并不需要+  a和b都是字符串 a*b 隐式转换为数字

}

// 3

function persistence(num) {

var i = 0;

for (i; num.toString().length > 1; i++) {

num = num.toString().split(‘‘).reduce()(function(x,y){return x * y});

}

return i;

}

// 4

const prod = (n) => (n + ‘‘).split(‘‘).reduce((p,v) => p * v, 1)

function persistence(num) {

let p = 0;

while (num > 9) {

num = prod (num);

p++;

}

return p;

}

时间: 2024-11-13 06:45:30

6kyu Persistent Bugger的相关文章

codeforces 707D:Persistent Bookcase

Description Recently in school Alina has learned what are the persistent data structures: they are data structures that always preserves the previous version of itself and access to it when it is modified. After reaching home Alina decided to invent

gearman with postgresql as persistent Queuing

gearman is a good thing gearman client --------------> gearman server <------------------------gearman worker clients are requesting to handler something, gearman server is delivering jobs gearman workers get some jobs and finish. So different progr

[NHibernate]持久化类(Persistent Classes)

系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 引言 持久化类是应用程序用来解决商业问题的类(比如,在电子交易程序中的Customer和Order).持久化类,就如同它的名字暗示的,是短暂存在的,它的实例会被持久性保存于数据库中. 如果这些类符合简单的规则,NHibernate能够工作的最好,这些规则就是Plain Old CLR Object(POCO,简单传统CLR对象)编程模型. POCO简单示例 用一个类描述一只猫: 1 publi

Exception loading sessions from persistent storage

严重: Exception loading sessions from persistent storage java.io.EOFException 删除Tomcat里面的work/Catalina/localhost下的内容即可解决 Tomcat在启动时出现如下异常问题: 严重: IOException while loading persisted sessions: java.io.EOFException 严重: Exception loading sessions from pers

Matlab中的persistent变量

persistent, 用于定义persistent变量.persistent变量对于声明它的函数来说是局部的,但是当退出该函数时,该变量仍然保存在内存中,数值并不变.persistent变量与全局变量有相似之处,它们都创建永久的存储空间,不同在于persistent只对定义它的函数可见.这样可以防止persistent变量被其它函数或在命令行中被改变. 当我们改变或着清空在内存中的一个函数时,在它内部定义的presistent变量也会被清空. 当我们定义persistent变量的时候,如果不定

转:严重: Exception loading sessions from persistent storage

启动项目时报以下异常 严重: Exception loading sessions from persistent storage java.io.EOFException 遇到上述异常,删除Tomcat里面的work\Catalina\localhost下的项目文件内容即可解决. 原因是由于项目测试中class文件或者其它文件更新过频繁. 之前经常碰到页面修改后,重新发布的项目页面还是原样,不管删掉tomcat/webapps/发布的项目还是重新部署,都无法显示修改后的效果, 但是其他页面修改

Difference between boot ip. service ip and persistent ip in hacmp

- boot IP is the original address on a network interface even when the cluster is down - service IP is a movable IP that will be added to a network interface when a resource group becomes online. Clients normally should connect to service IP. If a re

IPVS(也叫LVS)的源码分析之persistent参数

最近在用 LVS做 LB,发现一个问题客户端总是出现session丢失问题,采用常用配置,均衡策略使用wlc, 看了一下wlc的策略相同的客户端都有可能轮训到不同的后台机器,在后台服务器上并没有对session进行复制,那样的却会导致客户端访问不同的服务器而导致在session丢失. 本简单的以为通过调整均衡策略就可以确保对同一客户端映射到相同的服务器,均衡策略参考(点击打开链接),而策略里面只有Source Hashing Scheduling 看起来可以达到这个目的,但是这个策略并不是推荐的

matlab global persistent变量

global变量是全局的,在使用global变量的函数里需要用global声明所使用的变量. persistent类似global,不过仅对当前函数有作用,这样避免了外面的影响.当这个函数被clear出内存时,persistent变量也被clear.为了防止这个现象,需要使用mlock把函数或mex文件保存不被clear清除. matlab global persistent变量,布布扣,bubuko.com