為什麼oj刷題要對1000000007進行取模運算

2021-10-23 01:38:43 字數 994 閱讀 1516

最近在oj中,在博主提交斐波那契數列解答時,這是第一版的**:

private static int fib(int n) 

int arr = new int[n + 1];

arr[1] = 1;

return fib2(n, arr);

}private static int fib2(int n, int arr)

if (arr[n] > 0)

arr[n] = fib2(n - 1, arr) + fib2(n - 2, arr);

return arr[n];

}

相信這段**很多人並不陌生,這是斐波那契數列的遞迴實現

提交**後發現如下結果:

原因: 網上一查原來是因為這個數字是10位的最小質數,上面的**並沒有問題,只是數字太大溢位了,需要將計算結果 % 1000000007才能保證得出的結果在int 範圍中

如是修改如下:

什麼是對齊,為什麼要對齊

什麼是對齊,以及為什麼要對齊 現代計算機中記憶體空間都是按照 byte 劃分的,從理論上講似乎對任何型別的變數的訪問可以從任何位址開始,但實際情況是在訪問特定變數的時候經常在特定的記憶體位址訪問,這就需要各型別資料按照一定的規則在空間上排列,而不是順序的乙個接乙個的排放,這就是對齊。對齊的作用和原因...

北航OJ刷題

bamboo聽說知道了正確的玲瓏數,就能開啟玲瓏陣,穿越時空,然後解鎖乙個滿分瑪麗蘇cp 於是決定停止幻想,現在就去算玲瓏數。玲瓏數是什麼呢?在數列中任意兩個數a i a j 如果i2 a j 那麼a i 和a j 就構成了一對兒玲瓏對。玲瓏數就是玲瓏對的總數。是不是聽起來很簡單?快幫bamboo算...

各大刷題OJ

簡介 以求職為主導的oj 力扣 推薦指數 很多網際網路大廠筆試都是上面的原題,題目有easy midium,hard三個層次,平台有國內版和海外版 安利國內版 力扣會定期舉辦周賽,雙周賽,力扣春季賽等比賽。平台互動性很高,強烈建議多看看題解 討論區。115 l l 洛谷 推薦指數 這是乙個日本的oj...