编写程序验证:任何一个自然数n立方都等于n个连续奇数之和.要求对每个输入的自然数计算并输出相应连续奇数
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/09 10:15:34
编写程序验证:任何一个自然数n立方都等于n个连续奇数之和.要求对每个输入的自然数计算并输出相应连续奇数
编写程序验证:任何一个自然数n立方都等于n个连续奇数之和.要求对每个输入的自然数计算并输出相应连续奇数
编写程序验证:任何一个自然数n立方都等于n个连续奇数之和.要求对每个输入的自然数计算并输出相应连续奇数
'解题思路:
'题目要求,求证一个数的立方为若干继续奇数之和,
'我们知道乘方是由乘法发展而来的,而乘法是由多个相同的数相加而来的.这样,
'我们可以把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 Sub
不懂