繼續繼續~
遍歷每一天,最后再完成剩下的,明白了一個最簡單的向上取整方法,就是在原來的數基礎上加上n-1
關于進制的一道數學題,首先這個數肯定小于base(進制),大于進制的就能縮小,也就不能被自己整除。 判斷是否符合的條件,就是取mod之后是否為1。數學證明很簡單。翻譯成自然邏輯就是:每次加上一個base數都會進一位這樣數字的和會大1,所以加上一個base-1的數,數字的和就不變咯~
public class InterestingDigits { public int[] digits(int base) { int k = 0; for (int i = 2; i < base; i++) { if (base % i == 1) { k++; } } int[] ans = new int[k]; k = 0; for (int i = 2; i < base; i++) { if (base % i == 1) { ans[k] = i; k++; } } return ans; }}模擬小球在空間撞來撞去,下面算法比較好的幾點,矩陣代表著坐標,一個磚塊是2*2的坐標,只有中心點有狀態。小球的碰撞判定也是按照中心點狀態來算的。其次就是無解的判斷。這個for循環蠻好的。 for (int seconds = 0, lastBreak = 0; seconds < lastBreak + 4 * height * width; seconds++)
就是如果小球用所有角度撞了所有位置,也沒有新的破碎,那么就是無解了。傳說中的鴿籠原理。
新聞熱點
疑難解答