如何解决数字出现的频率?
我尝试在JavaScrip中解决此算法,但无法实现。我已经用Java完成了,但是找不到解决方法的方法就是JS。如果有人可以告诉我并向我解释解决方案,我将不胜感激:)算法:
查找介于0和给定正整数(包括两个端点)之间的所有整数中给定数字出现的频率。
让我们说要计数的数字(我们称之为K)是2。
因此,在0到35之间,K(在本例中为2)出现了14次:
2、12、20、21、22(两次),23、24、25、26、27、28、29 32 = 14次
输入
输入包含2行。 第一行包含程序需要计数的数字(K)。 第二行包含数字N,它是检查K是否出现的范围内的最大数字(例如,介于0和N之间)。 所有数字均为正整数。没有小数或小数。
打印出现在0到N之间(包括两者)的K数。 如果找不到,则打印0。
谢谢。
解决方法
可能的解决方案,可能会更有效。
let k = String(2);
let n = 35;
let s = String("");
// create string from numbers 0 to n
for (let i = 0; i <= n; i++) s += i;
// check each character for digit
let occurs = s.split('').reduce((a,x) => x === k ? a + 1 : a,0);
// print result
console.log(occurs);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。