Imports System
Imports System.Windows.Forms
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim n As Integer = 0
Dim m As Integer = 0
Dim o As Integer = 0
Dim p As Integer = 0
Dim q As Integer = 0
Dim r As Integer = 0
Dim r1 As String = ""
Dim s1 As String = ""
Dim t1 As String = ""
Dim t2 As String = ""
Dim t3 As String = ""
Dim t4 As String = "" '初始化 t4 为空字符串
Dim random As New Random()
For n = 0 To random.Next(100)
For m = 0 To random.Next(100)
o = n + m
p = n - m
q = n * m
If m <> 0 Then
r = n / m
End If
'用函数将整数转换为基数为 3 的字符串
r1 = IntToBaseString(n, 3)
s1 = IntToBaseString(m, 3)
t1 = IntToBaseString(o, 3)
t2 = IntToBaseString(p, 3)
t3 = IntToBaseString(q, 3)
If m <> 0 Then
t4 = IntToBaseString(r, 3)
End If
'输出结果
TextBox1.Text &= r1 & " + " & s1 & " = " & t1 & vbCrLf
TextBox1.Text &= r1 & " - " & s1 & " = " & t2 & vbCrLf
TextBox1.Text &= r1 & " * " & s1 & " = " & t3 & vbCrLf
If m <> 0 Then
TextBox1.Text &= r1 & " / " & s1 & " = " & t4 & vbCrLf
End If
Next
Next
End Sub
Private Function IntToBaseString(ByVal num As Integer, ByVal base As Integer) As String
Dim buffer As New System.Text.StringBuilder(33)
Dim i As Integer = 0
Dim isNegative As Boolean = False
'处理负数
If num < 0 Then
isNegative = True
num = -num
End If
'转换为字符串
Do
Dim digit As Integer = num Mod base
If digit < 3 Then
buffer.Insert(0, ChrW(48 + digit))
Else
buffer.Insert(0, ChrW(65 + digit - 10))
End If
num = num \ base
Loop While num > 0
'如果是负数,添加负号
If isNegative Then
buffer.Insert(0, "-")
End If
Return buffer.ToString()
End Function
End Class