1的數目 微軟面試題

2021-05-31 23:01:01 字數 408 閱讀 3551

給定乙個十進位制正整數n, 寫下從1開始,到n的所有整數,然後數一下其中出現的所有1的個數。

例如:n=2,寫下1,2.這樣只出現了1個1;

n=12,我們會寫下1,2,3,4,5,6,7,8,9,10,11, 12.這樣1的個數為5.

解:按每個位如個位、十位、百位。。。出現1的次數來統計總的1的個數。如下是**(改進後可以統計何數字的個數)

x:指定要統計的阿拉伯數字

dword countx(dword n, dword x)

else if(mid == x)

else

count += (high+1)*cur;//僅與高位有關

cur *= 10;

} return count;

}

微軟面試題 1

題 編寫反轉字串的程式,要求優化速度 優化空間。分析 構建兩個迭代器p 和 q 在一次遍歷中,p的位置從字串開頭向中間前進,q從字串末尾向中間後退,反轉字串只要每次遍歷都交換p和q所指向的內容即可,直到p和q在中間相遇,這時迴圈次數剛好等於 字串的長度 2。實現 view plain author ...

微軟面試題

題目 小明和小強都是張老師的學生,張老師的生日是m月n日,2人都知道張老師的生日是下列10組中的一天,張老師把m值告訴了小明,把n值告訴了小強,張老師問他們知道他的生日是那一天嗎?3月4日 3月5日 3月8日 6月4日 6月7日 9月1日 9月5日 12月1日 12月2日 12月8日 小明說 如果我...

微軟面試題

fly.c4 推薦您必看!六.演算法題 說明 這些題就不是什麼花樣了,考的是你的基礎知識怎麼樣。再聰明而沒有實學的人都將會被這些題所淘汰。1.鍊錶和陣列的區別在 2.編寫實現鍊錶排序的一種演算法。說明為什麼你會選擇用這樣的方法?3.編寫實現陣列排序的一種演算法。說明為什麼你會選擇用這樣的方法?4.請...