编写VB代码,求4位“水仙花数”。即满足这样的条件的数:各位数字的4次方的和等于该数自身。写出程序代码

如题所述

第1个回答  2009-12-22
Dim a() As Integer, i As Integer, j As Integer, k As Integer, sum As Integer
k = -1
For i = 1000 To 9999
j = i
sum = (j \ 1000) ^ 4
j = j Mod 1000
sum = sum + (j \ 100) ^ 4
j = j Mod 100
sum = sum + (j \ 10) ^ 4
j = j Mod 10
sum = sum + j ^ 4
If sum = i Then
k = k + 1
ReDim Preserve a(k)
a(k) = i
End If
Next i

或者:
Dim a() As Integer, i As Integer, j As Integer, s As String, sum As Integer
j = -1
For i = 1000 To 9999
s = CStr(i)
sum = (Val(Mid(s, 1, 1))) ^ 4 + (Val(Mid(s, 2, 1))) ^ 4 + (Val(Mid(s, 3, 1))) ^ 4 + (Val(Mid(s, 4, 1))) ^ 4
If sum = i Then
j = j + 1
ReDim Preserve a(j)
a(j) = i
End If
Next i

结果为:a(0)=1634,a(1)=8208,a(2)=9474

后面自己随便处理找出来的结果了

也可以自定义过程
'a,b>0,<=32767
'Returned()下标为0
Private Sub GetShuixianhuashu(a As Integer, b As Integer, Returned() As Integer)
Dim i As Long, j As Integer, k As Integer, l As Integer, s As String, sum As Long
For i = a To b
s = CStr(i): l = Len(s): sum = 0
For j = 1 To l
sum = sum + (Val(Mid(s, j, 1))) ^ l
Next j
If sum = i Then
k = k + 1
ReDim Preserve Returned(k)
Returned(k) = i
End If
Next i
End Sub

这个过程可以查找1到32767之间的水仙花数
从结果看,有三位的水仙花数和四位的水仙花数(一位的太普通了)本回答被提问者采纳
第2个回答  2009-12-17
抱歉,我不是你那个行业的,不大清楚。

编写VB代码,求4位“水仙花数”。即满足这样的条件的数:各位数字的4次 ...
这个过程可以查找1到32767之间的水仙花数 从结果看,有三位的水仙花数和四位的水仙花数(一位的太普通了)

VB中判断闰年和判断水仙花数的程序是什么?
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。【程序4】题目:将一个正整数分解质因数。例如:输...

水仙花数的c语言编程。
所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3 + 5^3+ 3^3 。下面是完整的C语言编程代码:运行结果:result is:153 370 371 407

C语言问题
a说他不和x比,c说他不和x,z比,请编程序找出 三队赛手的名单。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 2.程序源代码: main() { char i,j,k;\/*i是a的对手,j是b的对手,k是c的对手*\/ for(i='x';i<='z';i++) for...

水仙花数有哪些?
一、水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。二、例题:求取100...

c语言编程
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:main(){int i,j,k,n;printf(“’water flower...

水仙花代表什么数字?
所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。给你举例说明 求出100至999之间的所有“水仙花数”找出100--999之间的所有“水仙花数”。所谓“水仙花数”是指一个三个数,其各位数字的立方和等于身。解...

水仙花数有哪些?
在数论中,水仙花数(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number)[4],用来描述一个N位非负整数,其各位数字的N次方和等于该数本身。设有自然数n,d为该自然数各位数字,即 n = dkdk-1.....

C语言综合设计
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码: 复制代码代码如下: #include "stdio.h"#include ...

求C语言习题!
题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。2.程序源代码:main(){int i,j,k,n;printf("'water flower'...

相似回答