任何一个自然数的立方都可以写成一串连续奇数之和。如:
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; }