优题课 - 聚名师,上好课(www.youtike.com)
  首页 / 试题 / 高中信息技术 / 试题详细
  • 科目:信息技术
  • 题型:填空题
  • 难度:中等
  • 人气:944

自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。使用枚举法寻找5位数以内的自幂数算法如下:
(1)使用循环列出1到99999中的每一个数zmsknz
(2)通过自定义函数ddknzms拆解得到每个数中的每位数上的数码及它们对应的n次幂之和
(3)将zmsknz与ddknzms进行比较,若相等则说明是自幂数,可将其加入列表。
编写VB程序,使用枚举法得到5位数以内的自幂数,程序设计界面如图所示:

请根据算法及相应注释将下面的程序补充完整:
Function ddknzms(zmsknz As Long) As Long  '得到可能的自幂数
Dim zmsknz_str As String  '字符串类型自幂数可能值
Dim zmsknz_length As Integer, zmswsxh As Integer '字符串类型自幂数可能值字符个数
zmsknz_str = Trim(Str(zmsknz))
zmsknz_length = Len(zmsknz_str)
For zmswsxh =" 1" To zmsknz_length
ddknzms =" ddknzms" + Val(Mid(zmsknz_str, zmswsxh, 1)) ^   ①   
Next zmswsxh
End Function
Private Sub Command1_Click()
Const ZMSWS = 5
Dim zmsknz As Long, zmsknz_zz As Long
zmsknz_zz =" 10" ^ ZMSWS - 1
For zmsknz =" 1" To zmsknz_zz
If       ②       Then List1.AddItem (Str(zmsknz))
Next zmsknz
End Sub

登录免费查看答案和解析

自幂数是指一个n位数,它的每个位上的数字的n次幂之和等于它本