C語言經典演算法(二)
1.判斷某年是否為閏年
說明:了解閏年的算法即可輕鬆解決,怎麼算的很多地方都找的到
2.獲得某年某月的最大天數
說明:使用Swith..case的方式可以輕鬆解題,注意判斷2月是否為閏年即可
3.輸入某年某月某日判斷這天是這一年的第幾天
說明:要知道是第幾天,將該月之前的每月總天數加起來,再加上到今天是幾號,接著判斷是否為閏年即可
4.求一個數的N階層(EX: 5! = 5x4x3x2x1)
說明:這寫法有很多種,差別只在於時間複雜度
5.求兩數的最大公因數(GCD)以及最小公因數(LCM)
說明:這題的重點在求出最大公因數,之後的最小公倍數就可以輕鬆解決,這裡推薦使用輾轉相除法求出最大公因數,接著再用最小公倍數的算法(axb)/GCD(a, b)即可
6.打印出三位數的水仙花 (水仙花是指一個N位數其各數字的立方和)
說明:我在計算的時候好像弄錯題目了XD,原本題意是要求出1~1000的水仙花,我只有弄出判斷是否為水仙花,雖然沒差就是了,這題多注意個十百千萬的運算即可
7.不依賴第三個變量實現兩數交換
說明:這種做法稍微有印象就好,因為這種做法的應用空間有限,會被自身的算法限制
8.將十進制換算成2-16進制
9.將一個數分解成質因數 EX:90 = 2X3X3X5
說明:有時候正向思考解題是種障礙,這時候不如逆轉思考一下,我們已知一數可以被分解為質因數相乘,想當然,一個數可以被自己的質因數除到沒有,例如:90/2 = 45, 45/3=15, 15/3= 5
這樣想的時候,題目會變得異常簡單
留言
張貼留言