重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
首先說明什么是回文數:左右對稱的自然數稱回文數。如121,4224,13731等你所出的題目是求三位數以內的所有回文數,所以只要判斷第一位和第三位的數字是否一樣,一樣則為回文數。代碼如下:Private Sub Command1_Click()
創新互聯公司專注于肥西網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供肥西營銷型網站建設,肥西網站制作、肥西網頁設計、肥西網站官網定制、小程序開發服務,打造肥西網絡公司原創品牌,更為您提供肥西網站排名全網營銷落地服務。
For i = 100 To 999 '100到999循環
a$ = Trim$(Str(i)) '轉換成字符串
b = Left$(a$, 1) '截取左邊第一位
d = Right$(a$, 1) '截取右邊第一位
If b = d Then '判斷左右是否相等,相等既是回文數.
T1.Text = T1 + Str(i)
End If
Next
End Sub
2種方法,
1,是使用VB自帶的函數StrReverse , 一個數字,被翻過來以后,還和原數字相同,就可以判斷是回文數了
2.使用循環,每次都2端取數字,都相同,就可以判斷為回文數, 當有不同時,跳出循環,不是回文數
你的i = Len(Str(a))會出問題。
If i 1 Then
Return True
End If
這個返回在if內部,當條件不滿足將導致函數無返回。
以下代碼僅供參考:
Function IsH(ByVal a As Long) As Boolean
Dim i As Long, j As Long, t As String
t = a.ToString
i = t.Length
Select Case i
Case 1
Return True
Case 2
If Mid(t, 1, 1) = Mid(t, 2, 1) Then Return True Else Return False
Case 3
If Mid(t, 1, 1) = Mid(t, 3, 1) Then Return True Else Return False
Case Else
For j = 1 To i \ 2
If Mid(t, j, 1) Mid(t, i - j + 1, 1) Then Return False
Next j
End Select
Return True
End Function
在數學中也有這樣一類數字有這樣的特征,成為回文數(palindrome number)。
設n是一任意自然數。若將n的各位數字反向排列所得自然數n1與n相等,則稱n為一回文數。例如,若n=1234321,則稱n為一回文數;但若n=1234567,則n不是回文數。
注意:
1.偶數個的數字也有回文數124421
如:1234321
Len(s) / 2=7/2=3.5
k = 1,Mid(s, k, 1)=1,Mid(s, (Len(s) - k + 1), 1)=Mid(s, (7 -1 + 1), 1)=1
k = 2,Mid(s, k, 1)=2,Mid(s, (Len(s) - k + 1), 1)=Mid(s, (7 -2 + 1), 1)=2
……
如果k = 3,為假,就退出循環,
If k Len(s) / 2 Then
k=3 Len(s) / 2 =3.5