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 展开
提示: 解该题的方法有两种:① 利用三重循环,将三个数连接成一个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 展开
1个回答
2014-05-20
展开全部
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 SubSub 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下,两个我都运行通过
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询