设N是一个四位数,它的 9 倍恰好是其反序数(例如:1234的反序数是4321),求N的值。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x, a, b, c, d, q As Integer
For x = 1000 To 10000
q = x
a = x / 1000
b = (x Mod 1000) / 100
c = (x Mod 100) / 10
d = (x Mod 10)
If (q * 9) = (1000 * d + 100 * c + 10 * b + a) Then
TextBox1.Text() = q
End If
Next
End Sub
End Class
Dim x, a, b, c, d, q As Integer
For x = 1000 To 10000
q = x
a = x / 1000
b = (x Mod 1000) / 100
c = (x Mod 100) / 10
d = (x Mod 10)
If (q * 9) = (1000 * d + 100 * c + 10 * b + a) Then
TextBox1.Text() = q
End If
Next
End Sub
End Class
abcd最小可能值为1111,此时1111*9=9999
再大就五位数了。你这题目哪来的?
A只能为1,D只能为9
1BC9 * 9=9CB1
B=C+8,B又只能为0和1
所以C只能为2和3
又1111是上限,所以B只能为0
所以C只能为2
1029*9=9261
所以无解
我没学过vb 可是老师要让用vb教作业 我不知道改的过程中哪里出错了
Dim x, a, b, c, d, q As Integer
For x = 1000 To 1111
q = x
a = x \ 1000
b = x \ 100 Mod 10
c = x \ 10 Mod 10
d = x Mod 10
If (q * 9) = (1000 * d + 100 * c + 10 * b + a) Then
Text1.Text() = q
End If
Next
DIM B AS LONG
DIM C AS LONG
DIM D AS LONG
DIM I AS LONG
FOR I=1000 TO 1111
A=I MOD 10
B=(I\10) MOD 10
C=(I\100) MOD 10
D=I\1000
IF I*9 = A*1000+B*100+C*10+D THEN ME.PRINT I
NEXT和楼上一样,只是楼上定义变量写法有问题,Dim x, a, b, c, d, q As Integer只有最后一个指定了整形,前面4个是无类型的。