998怎么陷入459数字黑洞

998怎么陷入459数字黑洞,第1张

数字黑洞495,只要你输入一个三位数的数字,要求一个、十个、一百个数字都不一样,比如不允许输入111222等等。然后根据大小重新排列这三个数字,得到最大值和最小值。然后把这两个数字相减,得到一个新的数字,重新排列,再减去,最后得到数字495,这就是所谓的数字黑洞。例如:输入352,排列532和235,减法297;排列972和279,减法693;排列963和369,减法594;排列954和459,减法495。

代码:

Private Sub Command1_Click()

  Dim Count As Integer, EverNumber As Integer

  Dim strN As String, Temp As String

  strN = Text1.Text

  Label1.Caption = "您输入的数字是" + strN + vbCrLf

  Count = 1

  Label1.Caption = Label1.Caption + "第" & Count & "次:" + CStr(strN) + vbCrLf

  Do

    Temp = strN

    Count = Count + 1

    EverNumber = EverNumberCount(strN)

    strN = CStr(EverNumber) + CStr(Len(strN) - EverNumber) + CStr(Len(strN))

    If strN <> Temp Then Label1.Caption = Label1.Caption + "第" & Count & "次:" + strN + vbCrLf

  Loop Until strN = Temp

  Label1.Caption = Label1.Caption + "对于数字" + Text1.Text + ",经过" & Count - 1 & "次计算得到最终结果" & strN & ",算法收敛,结束。"

End Sub

Private Function EverNumberCount(ByVal s As String) As Integer

  Dim EverNumber As Integer

  For i = 1 To Len(s)

    If Val(Mid(s, i, 1)) Mod 2 = 0 Then EverNumber = EverNumber + 1

  Next i

  EverNumberCount = EverNumber

End Function

  

 

Private Sub Text1_KeyPress(KeyAscii As Integer)

  If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then

    KeyAscii = 0

    Beep

  End If

End Sub

设计界面:

运行界面:

黑洞运算

任取一个数,例如35962,数出这数中的偶数个数、奇数个数及所有数字的个数,就可得到2(2个偶数)、3(3个奇数)、5(总共五位数),用这3个数组成下一个数字串235。对235重复上述程序,就会得到1、2、3,将数串123再重复进行,仍得123。对这个程序和数的“宇宙”来说,123就是一个数字黑洞。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12098709.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存