vb题,求解答

6.编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例如,153是水仙花数,因为提示:解该题的方法有两种:①利用三重循环,将... 6. 编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。例如,153是水仙花数,因为

提示:  解该题的方法有两种:① 利用三重循环,将三个数连接成一个3位数进行判断。例如,将i,j,k,3个一位数连成一个3位数的表达式为:i*100+j*10+k;‘i,j,k分别为三重循环的循环控制变量通常,对于若干个一位数要连接成一个多位数(例如,将1~9连接成一个9位数123456789),程序段如下: s=0 For i=1 To 9 s=s*10+i next i② 利用单循环将一个3位数逐位分离后进行判断。例如x是一个3位数,分离为3个一位数i,j,k,方法如下: x=357 i=x\100 ‘获得百位数结果3 j=(x Mod 100)\10 ‘获得十位数结果5 k=x Mod 10 ‘获得个位数结果7通常,对于若干位数值(例如,s是一个9位数),利用循环从右边开始逐位分离,程序段如下: s = 123456789 Do While s > 0 s1 = s Mod 10 s = s\10 Print s1; '从右边开始显示分离出每一位 Loop
展开
 我来答
匿名用户
2014-05-20
展开全部
  1. Sub Main()
            Dim tmp As Integer, i As Integer, j As Integer, k As Integer
            For i = 1 To 9
                For j = 0 To 9
                    For k = 0 To 9
                        tmp = (i * 100 + j * 10 + k)
                        If tmp = i ^ 3 + j ^ 3 + k ^ 3 Then
                            Console.Write(Str(tmp) + vbTab)
                        End If
                    Next
                Next
            Next
            Console.WriteLine()
            Console.ReadKey()
        End Sub
  2. Sub Main()
            Dim num As Integer, i As Integer, j As Integer, k As Integer
            For num = 100 To 999
                i = Int(num / 100)
                j = Int((num - i * 100) / 10)
                k = num - i * 100 - j * 10
                If i ^ 3 + j ^ 3 + k ^ 3 = num Then Console.Write(Str(num) + vbTab)
            Next
            Console.WriteLine()
            Console.ReadKey()
        End Sub

153,370,371,407

更多追问追答
追问
不行啊
追答
你是在什么环境下,在vs2013下,两个我都运行通过
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式