编写VB程序,找出所有奇妙4位数。
答案:4 悬赏:50 手机版
解决时间 2021-04-06 11:02
- 提问者网友:我的未来我做主
- 2021-04-06 06:33
所谓奇妙4位数,是指该数被其末两位数除得到的商是一个完全平方数。例如9801 /,而且该平方数正好等于原4位数前两位数加1的平方求所有奇妙四位数且在text1中输出
最佳答案
- 五星知识达人网友:罪歌
- 2021-04-06 07:42
',""初始化文本框
For i = 1000 To 9999 ',写函数
Public Function QiMiao(x) As Boolean ',以免有数据前后的空格
b = Str(Right(i;所有四位数
a = Str(Left(i,提高程序效率
If x /,进行计算,节约时间
Text1 = Text1 & i & "; '将数据在文本中显示,并以逗号分开
End If
Next
End Sub
'方法二到此结束
'上面方法任选其一,其他默认
Private Sub Form_Click() '。代码多; b = (a + 1) ^ 2 Then '在除数不为0时,且满足要求时为真
c = True '在上面二条件瞒足才为逻辑真
End If
Else: c = False '其他都是逻辑假
End If
QiMiao = c
End Function
'第二部,写事件
'在窗体1上面创建文本框 Text1,其他默认
Private Sub Form_DblClick() '在窗体1上面创建文本框 Text1;当除数为0时,跳出判断
If i / b = (a + 1) ^ 2 Then '","方法一,但是学习的要求高点
' 0 Then '当除数不为0时,判断逻辑假,可以节约运算时间, 2)) '将数据字符化;书写判断函数
Dim a; ', 2))
If b <> 0 Then '将数据字符化,以免有数据前后的空格
b = Str(Right(x, 2))
If b <>双击激发事件
Text1 = "初始化文本框
For i = 1000 To 9999
If QiMiao(i) Then
Text1 = Text1 & i & ";在除数不为0时;第一步;单击激发事件
Dim a; '将数据在文本中显示,并以逗号分开
End If
End If
Next
End Sub
'方法一到此结束
'方法二: 使用函数,分两步走', b
Text1 = ", b
Dim c As Boolean
a = Str(Left(x, 2)) ': 直接判断
'
For i = 1000 To 9999 ',写函数
Public Function QiMiao(x) As Boolean ',以免有数据前后的空格
b = Str(Right(i;所有四位数
a = Str(Left(i,提高程序效率
If x /,进行计算,节约时间
Text1 = Text1 & i & "; '将数据在文本中显示,并以逗号分开
End If
Next
End Sub
'方法二到此结束
'上面方法任选其一,其他默认
Private Sub Form_Click() '。代码多; b = (a + 1) ^ 2 Then '在除数不为0时,且满足要求时为真
c = True '在上面二条件瞒足才为逻辑真
End If
Else: c = False '其他都是逻辑假
End If
QiMiao = c
End Function
'第二部,写事件
'在窗体1上面创建文本框 Text1,其他默认
Private Sub Form_DblClick() '在窗体1上面创建文本框 Text1;当除数为0时,跳出判断
If i / b = (a + 1) ^ 2 Then '","方法一,但是学习的要求高点
' 0 Then '当除数不为0时,判断逻辑假,可以节约运算时间, 2)) '将数据字符化;书写判断函数
Dim a; ', 2))
If b <> 0 Then '将数据字符化,以免有数据前后的空格
b = Str(Right(x, 2))
If b <>双击激发事件
Text1 = "初始化文本框
For i = 1000 To 9999
If QiMiao(i) Then
Text1 = Text1 & i & ";在除数不为0时;第一步;单击激发事件
Dim a; '将数据在文本中显示,并以逗号分开
End If
End If
Next
End Sub
'方法一到此结束
'方法二: 使用函数,分两步走', b
Text1 = ", b
Dim c As Boolean
a = Str(Left(x, 2)) ': 直接判断
'
全部回答
- 1楼网友:梦中风几里
- 2021-04-06 10:30
Dim X As Long
For X = 1000 To 9999
If X = (1 + X \ 100) ^ 2 * (X Mod 100) Then Print X
Next
- 2楼网友:夜风逐马
- 2021-04-06 08:57
首先做1000-9999的循环,for i = 1000 to 9999
然后分割这个成前两位数和后两位数
left(i,2)
right(i,2),如果出错转化成字符性
然后做运算看看是否满足条件
把满足条件的都存到一个数组就OK了,按照这个思路写吧
再看看别人怎么说的。
- 3楼网友:摆渡翁
- 2021-04-06 08:34
k = r ^ 2 Then Text1,结果只有4个:
1805
2304
4802
9801
Private Sub Command1_Click()
Dim i%, k%
For i = 1000 To 9999
r = Val(Left(i, r%, 2)) + 1
k = Val(Right(i, 2))
If k = 0 Then
GoTo Jump
ElseIf i \一个要注意的是:排除后两位都等于0的情况
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯