自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。使用枚举法寻找5位数以内的自幂数算法如下:⑴使用循环列出1到99999中的每一个数zmsknz⑵通过自定义函数ddknzms拆解得到每个数中的每位数上的数码及它们对应的n次幂之和⑶将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 zmswsxhEnd FunctionPrivate Sub Command1_Click() Const ZMSWS = 5 Dim zmsknz As Long, zmsknz_zz As Long zmsknz_zz = 10 ZMSWS - 1 For zmsknz = 1 To zmsknz_zzIf Then List1.AddItem (Str(zmsknz) Next zmsknzEnd Sub
答案:【1】zmsknz_length【2】ddknzms(zmsknz) = zmsknz