你们好,今天咱们来看一道前端笔试题javascript
把1
到1000
全部数字拆成单个的,因此用字符数组接收前端
拿字符数组全部元素和9
比较相等自增java
1.获取1
到1000
的全部数字数组
2.把获取的全部数据转成字符串学习
3.定义计数器count=0
;ui
把使用indexOf去判断字符串里是否含有9,若是包含就自增count
计数器spa
5.打印最终count
的值code
function counts(num) {
let count = 0;
for (let i = 0; i<=1000; i++) { //遍历1到 1000的全部整数
let str = i + ""; //数字转成字符串
while(str.indexOf(num) != -1) {
count++;
str = str.substring(str.indexOf(num) + 1);
}
}
console.log(count);//打印
}
counts(9)
复制代码
分析:1到1000内的全部9的个数有个位、十位、百位 那么只要取出个位、十位、百位上的9也就是他们分别出现的次数就是9的个数。ip
1.定义变量count用来计算出现次数字符串
2.用for循环来遍历1
到1000
内全部的数
3.将个位、十位、百位每次出现的9
的次数叠加到count
上
4.最后打印结果。
function counts(num){//num要找次数的数字
let count = 0;
for (i = 1; i <= 1000; i++)
{
if (parseInt(i % 10) === num)//取个位数
{
count++;
}
if (parseInt(i / 10 % 10) === num)//取十位是否为9
{
count++;
}
if (parseInt(i / 100 % 10) === num)//取百位是否为9
{
count++;
}
}
console.log('出现的次数:'+count);//300次
}
counts(9);
复制代码
这里使用了两种方法解决该问题!你们能够再探索下,若是还有其余方案能够在评论区再列出,你们一块儿学习探讨!
大佬们若是发现了文中的错误,请在评论区指出,我会及时修正!
若是以为对您有用请点个赞,谢谢大佬!