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