在很多大厂的笔试中会有算法题,在前端中由于js的重要性所以算法题肯定不会少,下面总结了几个差不多算必考的案例。
打印出99乘法表
写之前先捋一下思想,乘法表1-9之间肯定需要用到循环,而且因为有两个因数所以需要两个变量、需要嵌套循环语句。
var k="";
for(var i=1;i<=9;i++)
{
for(var j=1;j<=i;j++)
{
k = k + j + "*" + i +"=" = " ";
if(j == i)
{
k = k + "\n";
}
}
}
console.log(k);
结果如下:
10!
10的阶乘需要循环,但是只需要一个变量用来装结果,通过改变循环进行累乘
var sum=1;
for(i=1;i<=10;i++){
sum *=i;
}
console.log(sum);
水仙花数
需要五个变量,三个表示每个位上的值,一个表示数本身,一个统计总数
var sum=0;
for(n=100;n<=999;n++){
var i=parseInt(n/100);
var j=parseInt(n%100/10);
var k=parseInt(n%10);
if(i*i*i+j*j*j+k*k*k==n){
console.log(n);
sum=sum+1;
}
}
console.log(sum);
结果如下
101-200之间的素数
主要需要进行判断是否是素数,然后进行输出,将每次循环判断出的素数进行统计
var flag = 0,sum = 0;
for(var i=101;i<=201;i++){
for(var j=2;j<i;j++){
if(i%j == 0)
{
flag = 1;
break;
}
else
{
flag = 0;
}
}
if(flag == 0&&i != 1){
console.log(i);
sum = sum + 1;
}
}
console.log(sum+"个素数");
结果如下