使用js,返回1到999所有自然数中一共出现过多少次“1”,如1到21一共出现过13次“1”
思路:将1到999所有的自然数转换为类似001,012,311这样的长度的字符串,然后利用for循环求得1的个数即可
function numStrProcess(num,length) { var numStr = num.toString(); if(numStr.length >= length) { return numStr; } for(var i = 0; i < length - numStr.length; i++) { numStr = "0" + numStr; } return numStr; }
var result = 0; for(var j = 1; j <= 999; j++) { var numStr = numStrProcess(j, 3); for(var k = 0; k < numStr.length; k++) { if(numStr[k] == 1) { result += 1; } } }
console.log(result);