尼科梅彻斯Nicomachus定理:任何一个整数的立方都可以写成一串奇数之和。

例如:
1^3 = 1         
2^3 = 3+5 = 8
3^3 = 7+9+11 = 27
4^3 = 13+15+17+19 = 64
5^3 = 21+23+25+27+29 = 125
我们很容易发现输出的n个连续奇数,其平均数为n的平方,进一步推导出最小一个为n*n-n+1,最大的奇数为n*n+n-1,这样输出n个连续奇数就是非常简单的事情。
program Nicomachus;
var i, n : integer;
begin
     write('Please input a positive: ');
     readln(n);
     i := n*n - n + 1;               // 最小一个为n*n-n+1
     while i < n*n+n-1 do            // 最大一个为n*n+n-1
     begin
          write(i, '+');
          i := i+2;
     end;
     writeln(n*n+n-1, ' = ', n*n*n);
     readln;
end.
posted @ 2010-01-01 21:19  SmartIOI  阅读(1267)  评论(0)    收藏  举报
本站采用CC授权如需转载、引用文章,请务必附上作者及来源处。 Creative Commons License