设a为一整数,如果能使a2=xxa成立,则称a为“守形数”。例如52=25,252=625,则5和25都是守形数。试编写一个Function过程Automorphic,其形参为一正整数,判断其是否为守形数,然后用该过程查找1-1000内的所有守形数。

解:根据守形数的定义,如果对一个数的平方用10的幂求模(Mod)的结果仍为该数,则这个数就是守形数,例如,5的平方是25,而25 Mod 10 =5 ,因此5是一个守形数。据此,编写Automorphic过程如下。

Function Automorphic(ByVal num As Long) As Boolean
    If num * num Mod 10 = num Or num * num Mod 100 = num Or num * num Mod 1000 = num Then
        Automorphic = True
    Else
        Automorphic = False
    End If
End Function

'这里在窗体事件中调用过程

Private Sub Form_click()
    Dim retnum As Boolean
    For n = 1 To 1000
        retnum = Automorphic(n)
        If retnum = True Then
            Print n; "的平方为"; n * n, n; "是一个守形数"
        End If
    Next n
End Sub


运行此程序,点击窗体,出现结果,如下图所示。


visual basic程序设计教程第四版答案 刘炳文 编著

来源:visual basic程序设计教程第四版答案(刘炳文)

本文链接:http://www.wb98.com/vb1/post/vb_9.4.html

本站文章搜索:

<< 上一篇下一篇 >>

搜索

Tags列表

扫我手机登录

赞助商链接