任何一个自然数的立方都可以写成一串连续奇数之和。如:


13=1
23=3+5=8
33=7+9+11=27
43=13+15+17+19=64

…………

编程输入N,求N3是哪些奇数累加的结果。

思路:

观察发现:(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;  }