任何一個天然數的立方均可以寫成一串連續奇數之和。如:算法
13=1
23=3+5=8
33=7+9+11=27
43=13+15+17+19=64編程
…………spa
編程輸入N,求N3是哪些奇數累加的結果。margin
思路:
觀察發現:(1)第n行有n個奇數;(2)這n行奇數是連續的。
因此算法以下:
輸入n
計算前n-1行的奇數個數k=(1+(n-1))*(n-1)/2 =n*(n-1)/2 …………(等差數列求和公式)
因此,第n行開頭的奇數是第k+1個奇數t=2*(k+1)-1 …………………………(第x個奇數是2x-1,其中x=1,2,3,4,……)
因此,題目所求以下:
for(i=1;i<=n;i++) { 輸出t; t=t+2; }