請輸出1到400之間所有數字中包含的1的個數,比如數字1中包含了乙個1, 數字11中包含了兩個1,數字20中不包含1,數字1到21中共包含了13個1。
function
getcount()
// 輸出 180
console.
log(
getcount()
)
答案一這個答案比較經典,效能也算是很不錯的了
const
sum1s
= num =>
// 輸出 180
console.
log(
sum1s
(400
))
答案二這個用到了正則,不過對於長字串正則可能性能會有點點差
function
countone
(num)
,(v,i)
=>i+1)
.join(''
).replace
(/[^1]/g,''
).length
}console.
log(
countone
(400
))
答案三下面這個答案算是中規中矩的答案了,將每乙個數字轉換為字串然後統計1的個數
function
getcount()
`.split
('1'
).length -1}
return count
}// 輸出 180
console.
log(
getcount()
)
輸出1到最大n位數之間的所有數
比如 n 2 那麼從1一直輸出到99 分析 直接輸出,遇到大數時肯定有問題,比如n 100,儲存100位的資料型別不存在。可以利用陣列來儲存大數,比如n 100,可以開闢個陣列 char a 101 思路一 模擬現實中的技術方式,逢九進一 參考 include include using names...
輸出1到最大n位數之間的所有數
比如 n 2 那麼從1一直輸出到99 分析 直接輸出,遇到大數時肯定有問題,比如n 100,儲存100位的資料型別不存在。可以利用陣列來儲存大數,比如n 100,可以開闢個陣列 char a 101 思路一 模擬現實中的技術方式,逢九進一 參考 include include using names...
輸出1到最大n位數之間的所有數
比如 n 2 那麼從1一直輸出到99 分析 直接輸出,遇到大數時肯定有問題,比如n 100,儲存100位的資料型別不存在。可以利用陣列來儲存大數,比如n 100,可以開闢個陣列 char a 101 思路一 模擬現實中的技術方式,逢九進一 參考 include include using names...