四叶玫瑰数的VB怎么编?

 我来答
VB编程解放双手
2018-03-19 · 个人VB爱好者专注vb编程_时效软件
VB编程解放双手
采纳数:1204 获赞数:2391

向TA提问 私信TA
展开全部

Private Sub Command1_Click()

Me.Cls

Dim s As Single, j As Long, t As String, n As Long, m As Long

For j = 1000 To 9999

t = j

m = 0

For k = 1 To 4

n = Val(Mid(t, k, 1))

m = m + n * n * n * n

Next

If m = j Then

Print j; "为玫瑰花数"

s = s + j

End If

Next

Print "总和为:"; s

End Sub

匿名用户
2015-08-09
展开全部
四位数各位上的数字的四次方之和等于本身为四叶玫瑰数

实现源码如下:
program roseNumber;
var
a,b,c,d:longint;

function four(n:longint):longint;
begin
four:=n*n*n*n;
end;

begin
for a:=1 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
for d:=0 to 9 do
begin
if(1000*a+100*b+10*c+d=four(a)+four(b)+four(c)+four(d))then
begin
writeln(a,b,c,d);
end
end
end.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shunshisan
2012-06-30 · 超过18用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:39.8万
展开全部
四位数是从1001-9999
直接上循环了,太晚了,说完睡觉去
Private Sub Command1_Click()
Dim i As Long
Dim s As String
Dim sum As Long
Dim n1, n2, n3, n4 As Long
For i = 1001 To 9999
s = CStr(i)
n1 = CLng(Mid(s, 1, 1)) ^ 4
n2 = CLng(Mid(s, 2, 1)) ^ 4
n3 = CLng(Mid(s, 3, 1)) ^ 4
n4 = CLng(Mid(s, 4, 1)) ^ 4
sum = n1 + n2 + n3 + n4
If sum = i Then Print i
Next i
End Sub

我自己运行了,1001-9999只有三个数:
1634
8208
9474
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式