编写程序验证:任何一个自然数n立方都等于n个连续奇数之和.要求对每个输入的自然数计算并输出相应连续奇数
2个回答

'解题思路:

'题目要求,求证一个数的立方为若干继续奇数之和,

'我们知道乘方是由乘法发展而来的,而乘法是由多个相同的数相加而来的.这样,

'我们可以把n的立方变为n个数相加 ,即

'n的立方 = n的平方 + n的平方 + n的平方 + ……

'一共有n项的多项式,相当于一个差值为0的等差的数列,

'而只要把这个具有n项的数列变成相邻差值为2的奇数就可以实现题目所要求的.

'现在关键是求出n项中的第一项的值就可以了,其余项则是在第一项的基础上差值为2的等差数列.

'若是升序序列的话,第一项是最小的数,它的值为n的平方减去n加上1,

'这时就可写出语句代码了:

'当然这段代码只能运行n值30以内的数值,在这里仅仅是提供一点解题的思路

Sub jisu()

Dim n As Integer

n = InputBox("请输入一个大于等于2的整数")

If n < 2 Then Exit Sub

Dim nArr() As Integer '定义数组变量用来存放连续的各个奇数

ReDim nArr(1 To n) '重置数组变量的上下界

Dim nn As Long

nn = n * n - n - 1

Dim i As Integer

Dim s As String

For i = 1 To n

nArr(i) = nn + 2 * i '为数组变量赋值

s = s & nArr(i) & ","

Next

s = Left(s,Len(s) - 1)

MsgBox n & "的立方" & n * n * n & "等于连续奇数" & s & "之和"

'这样提示框的显示方式只能显示n值在30以内的数值,太大了报错

End Su