153=1×1×1+5×5×5+3×3×3
小张设计了一个算法来输出所有的水仙花数,具体程序如下。
Private Sub Command1_Click()
Dim s As Double
s = 0
Do While s <> 5
s = s + 2
Loop
Label1.Caption = Str(s)
End Sub
该事件处理过程代码违背了算法特征中的( )
Dim a (1 To 4020 ) As String
Dim b (1 To 2000 ) As String
Private Sub Form_Load( )
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim constr As string
constr=“Provider=Microsoft.ace.OLEDB.12.0;”
constr=constr &“Data Source=” & App.Path+“\data\KaoSheng.accdb”
conn.ConnectionString=constr
conn.open()
Dim sql As String
‘将参加2010年下半年考试的考生的身份证号码按升序存放在a数组中
sql=“select * from kaoshengInfo where year=‘2010’order by sfzh asc”
rs.Open sql,conn
i=0
Do While Not rs.EOF
i=i+1
a(i)=rs(“sfzh”)
List1.additem(a(i))
rs.MoveNext
Loop
‘将参加2011年下半年考试的考生的身份证号码按升序存放在b数组中
sql=“select * from kaoshengInfo where year=‘2011’order by sfzh asc”
rs.Open sql,conn
i=0
Do While Not rs.EOF
i=i+1
b(i)=rs(“sfzh”)
List2.additem(b(i))
rs.MoveNext
Loop
rs.Close
End Sub
Private Sub Command1_Click ()
Dim bot As Integer, top As Integer, m As Integer
Dim i As Integer, ans As Integer
ans=0
For i=1 To 2000
bot=1
Do While bot <=top
m=Fix ( ( bot+top ) / 2 )
If a ( m )=b ( i ) Then
List3.AddItem a ( m )
Exit Do
ElseIf Then
top=m-1
Else
bot=m+1
End If
Loop
Next i
List3.AddItem“总计”+str(ans)+“人次”
End Sub
Private Sub Command1_Click()
Dim i As Integer, n As Integer
Dim s As Integer, t As Integer, k As Integer
s = 0
For i = 1 To 1000
n = i
t = 0
k = 0
Do While n > 0
If n Mod 2 = 1 Then t = t + 1 Else k = k + 1
Loop
If Then s = s + 1
Next i
Text1.Text = Str(s)
End Sub
Dim a(1 To 1000) As Integer
Dim n As Integer
Private Sub Form_Load()
'确定n的值和数组a的各个元素值,即每根棍子的长度值,代码略
End Sub
Function max (x As Integer, y As Integer) As Integer
If x>y Then
max=x
Else
max=y
End If
End Function
Private Sub Command1_Click()
Dim i As Integer, J As Integer, K As Integer
Dim ans As Integer, c As Integer, longest As Integer,
rest As Integer
ans=0
'让i<j<k,保证棍子不会被重复选中
For i=1 To n
For j=i+1 To n
For k=j+1 To n
c=a(i)+a(j)+a(k)
longest=
'①
rest=c-longest 'rest 保存最短的两条边的和
If
Then '②
ans=max(ans, c)
End If
Next k
Next j
Next i
Print ans
End Sub
a=1: b=1:c=1
do while a+b+c<=10
a=a+1
b=b*2
c=b/2
loop
k是可以重新赋值的,k是变量还是常量?
程序中①处有空缺,请补充完整①处的代码。
程序中逐一验证了100到999之间所有的三位数是否符合“水仙花数”的定义条件,这种算法叫做(解析法,枚举法,递归法,二分法)。
数无限增加时,其面积可无限逼近圆面积,它的边长之和逐渐過近圆周。根据“圆周率即圆周长与该圆直径的比率”,即“圆周长/圆直径=圆周率”,当正多边形边数无限大时,圓周率的近似值也更加精确。
刘徽用这种方式首先从圆内接正六边形开始割國,算到正192边形时,得到π的近似值为3.14,又算到正3072边形时,得到π的近似值为3.1416。南北朝数学家祖冲之继承并发展了刘徽的“割圆术”,得到π的近似值为3.1415926<π<3.1415927。据此完成小题。