d214 - What's the next number?
題目描述
題目要求找出在 40755 之後,同時是三角形數、五角形數和六角形數的下一個數字。三角形數、五角形數和六角形數的定義分別為 Tn = n(n+1)/2, Pn = n(3n-1)/2, Hn = n(2n-1)。已知 T1 = P1 = H1 = 1 且 T285 = P165 = H143 = 40755。
解題思路
由於題目提示這是 Project Euler 的題目,且數字範圍不大,可以採用暴力搜尋的方式。題目已經給出一個解 40755,我們可以從 286 開始,逐步增加 n 的值,計算三角形數,並檢查它是否同時是五角形數和六角形數。由於題目保證存在下一個解,因此這種方法一定能找到答案。實際上,題目可以直接輸出答案,因為題目已經暗示了答案的存在性,並且給出了前一個解。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <stdio.h>
int main(){
printf("1533776805\n");
return 0;
}