請輸出1到400之間所有數字中包含的1的個數

2021-10-09 15:33:45 字數 955 閱讀 8215

請輸出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...