1. 程式人生 > >Leetcode---階乘後的零

Leetcode---階乘後的零

階乘後的零

題目連結:階乘後的零
這一題用求階乘的方法必然溢位
需要探索數學技巧,我其實沒有真正弄明白,技巧非常簡單,求尾數中0的個數,只需求0——n中含有5這個因子的數的個數,特別的像:25,50這樣的數要視為含有兩個5,25=55,50=25*5

程式碼:
public int trailingZeroes(int n) {
		int result = 0;
		while(n!=0) {
			result+=(n/=5);
		}
		return result;
    }

Excel表列序號

題目連結:Excel表列序號
這道題其實就是一個進位制轉換的問題
思路就是從低位到高位依次轉變為數字,從高位轉不合理,因為不知道有多少位,那麼相應位上的權值就是不確定的

程式碼:
	public int titleToNumber(String s) {
		
        char[] c = s.toCharArray();
        int result = 0,weight = 1;
        for(int i=s.length()-1;i>=0;i--) {
        	result+=((c[i]-'A'+1)*weight);
        	weight*=26;
        }
		return result;
    }