水仙花数问题 先说一下水仙花数的含义吧:指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身.(例如:1^3+5^3+3^3=153).我先将C++的水仙花算法发上来:#include#includeusing namespace std;void main(){ in.
用流程图描述100-999的水仙花数 水仙花数含义:一个正整2113数有x(x>;2)位,它每位位数5261上的x次幂等于它本身。4102题目要求流程图得到在1653100~999之间的水仙花数,首先设定2个变量x,n。x表示变量100~999,n表示水仙花数量,并且设初始x=100,n=0。接下来判断x是不是属于该范围,若是,则进行水仙花数的判定(附一),判定水仙花数过后x自加一,x=x+1。若不是,则在100~999之间的数都遍历完成,输出数量n。附一(水仙花判定):x是一个3位数,判定要求按照水仙花数定义。x/100取整;得到百位的数字,x除100的余数再除10取整,得到十位的数字;x除10的余数,就是x的个位数,依次百位十位个位的三次方相加,若与原数x相等则是水仙花数,输出该数字,n自加一;若不等,则不是。流程图如下图所示:
编一VB程序,显示出所有的水仙花数。 Dim i%,j%,m%s=i*100+j*10*m '一定=0Do While s>;0 '一定不成立'\"水仙花数Private Sub Form_Click()Dim a,b,c As Integer 'a(个)b(十)c(百)For a=0 To 9For b=0 To 9For c=1 To 9If a^3+b^3+c^3=a+10*b+100*c ThenMsgBox 100*c+10*b+aEnd IfNext cNext bNext aEnd Sub'''''''''''''''''''''''Private Sub Form_Click()Dim i%,j%,m%,n%For n=100 To 999i=n \\ 100j=(n Mod 100)\\ 10m=n Mod 10If i^3+j^3+m^3=n ThenPrint n;i;3+;j;3+;m;3End IfNext nEnd Sub