尼科梅彻斯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.
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.


浙公网安备 33010602011771号