开开森森学前端之常见笔试题)

前言

你们好,今天咱们来看一道前端笔试题javascript

1到 1000 的全部整数中出现多少次数字9

题目分析

思路一

11000全部数字拆成单个的,因此用字符数组接收前端

拿字符数组全部元素和9比较相等自增java

1.获取11000的全部数字数组

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循环来遍历11000内全部的数

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);
复制代码

总结

这里使用了两种方法解决该问题!你们能够再探索下,若是还有其余方案能够在评论区再列出,你们一块儿学习探讨!

大佬们若是发现了文中的错误,请在评论区指出,我会及时修正!

若是以为对您有用请点个赞,谢谢大佬!

相关文章
相关标签/搜索