共计 923 个字符,预计需要花费 3 分钟才能阅读完成。
本文章用于记录百度前端技术学院的任务难点。
十进制转二进制。
核心思路:在 while 循环中,将十进制数字除以 2,同时将除以 2 的余数一次次记录下来,而每次除以 2 得到的整数商就是下次用来除以 2 的。直到整数商不够用来除以 2 了就停止。记录下来的余数的排列顺序是反的,最后反转一下就好。
代码:
function dec2bin(decNumber) {
// 在这里实现你的转化方法,注意需要判断输入必须为一个非负整数
if(decNumber < 0){console.log('请输入非负整数');
return;
}
if(decNumber == ''){console.log('请输入内容');
return;
}
var bin = parseInt(decNumber);
var bin2 = '';
while(bin>0){
bin2 += bin%2;
bin = Math.floor(bin/2);
}
// 反转字符串,要先转成数组,再反转,最后合并成字符串
return bin2.split('').reverse().join('');
}
3 的小游戏,练习使用循环和条件语句,实现如下需求:
从 1 到 100,以此在 console 输出各数字,但是,当数字为 3 的倍数或者含有 3 的时候,输出“PA”
比如:1,2,PA,4,5,PA,……,11,PA,PA,14,PA……
思路:for 循环中分两步,第一步输出的数字为 3 的倍数,只要用条件 %3== 0 来判断就可以了,是则打印 ’PA’。第二步将这个数字转换成字符串,分割成数组,每一项都是数字的某一位上的数,再用 includes() 判断这个数组是否包含为 ’3’ 的元素即可,是则打印 ’PA’。
代码:
for(var i=1;i<=100;i++){if(i%3 == 0){console.log('PA');
continue;
}
var n = i;
//array.includes(searchElement[, fromIndex]) 判断一个数组是否包含一个指定的值,如果存在返回 true,否则返回 false
if(n.toString().split('').includes('3')){console.log('PA');
continue;
}
console.log(i);
}
正文完
发表至: javascript
2019-07-20