如果一个数从左往右读和从右往左读都一样,那么这个数就叫做“回文数”。如果一个数的十进制和二进制表示都是回文数,则把这个数叫做“双重回文数”。例如,十制数33是回文数,将其转化为二进制表示(10001)也是回文数,所以33是双重回文数。编写程序用于查找1000以内的双重回文数。
(1)
根据题目描述,十进制数99是否是“双重回文数”(填:是/不是)。
(2)
实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim n As Integer, d As String, b As String
For i = 1 To 999
n=i
d=CStr(n) 'CStr函数的功能是数值转换为字符串
①
If ishws(d)Aind ishws(b)Then
List1.AddItem Str(i)+" "+b
End If
Next i
End Sub
Function dtob(k As Integer)As String '进制转换
Do While k >0
dtob =CStr(k Mod 2)+ dtob
k=k\2
Loop
End Function
Function ishws(x As String)As Boolean
ishws = True
For j=1 To Len(x) \2
If ② Then
ishws = False
Exit For
End If
Next j
End Function
①②
答案: 【1】是
【1】b= dtob(n)【2】Mid(x, j, 1)< > Mid(x, Len(x)-j+ i, 1)