十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
VB实现水仙花数的程序代码如下:
创新互联建站专注于企业全网营销推广、网站重做改版、文圣网站定制设计、自适应品牌网站建设、html5、商城系统网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为文圣等各大城市提供网站开发制作服务。
PrivateSubCommand_Click()
Fornum=100To999
a=numMod10
b=num\10Mod10
c=num\100
Ifa^3+b^3+c^3=numThenPrintnum
Nextnum
EndSub
实现具体步骤如下:
1.启动VB程序,新建一个标准的exe项目,如下图。
2.在窗体上绘制命令按钮(名称:命令),双击命令按钮以进入代码窗口,如下图。
3.接下来,开始为命令按钮编写单击事件。click事件实现了上面提供的程序代码,如下图。
4.按F5运行程序并单击命令按钮。水仙花产量为4:15,370,371,407,如下图。
扩展资料:
C语言实现水仙花数的代码:
#include stdio.h
#include stdlib.h
voidmain()
{
inti,j,k,n;
printf("'waterflower'numberis:");
for(n=100;n1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
注意事项:
VB编程的核心思想是组件编程。VB是最早引入组件编程的概念,然后被其他语言采用并成为标准,如vc++、Delphi、PowerBuilder等都采用了组件编程模型,并利用面向对象的编程技术,成为当今程序设计的发展方向之一。
VB编程,由于采用了组件技术,所以不必从底层开始窗体,控制设计,可以由工厂通过各种零件装配生产机器,通过Microsoft或第三方提供的组件,装配成所需的程序。与什么?VB是代码,它像胶水一样,把有限的代码和组件粘合在一起。结果是一个完整的应用程序。
VB有一个图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以很容易地使用daos、RDO、ADO连接到数据库,或者很容易地创建活动的X控件,从而高效地生成类型安全的和面向对象的应用程序。
程序员可以使用VB提供的组件轻松快速地构建应用程序。VB的组件既可以拥有用户界面,也可以没有。这样一来服务器端程序就可以处理增加的模块。
VB使用参数计算的方法来进行垃圾收集,这个方法中包含有大量的对象,提供基本的面向对象支持。因为越来越多组件的出现,程序员可以选用自己需要的扩展库。
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
可以运用将一个 For...Next 循环放置在另一个 For...Next 循环中,组成嵌套循环来解决水仙花求解问题。
以3位10进制数100-999为例,代码如下:
Private Sub Command1_Click()
Dim i As Long, j As Long, k As Long
Dim s As Long
For i = 1 To 9
For j = 0 To 9
For k = 0 To 9
s = i * 100 + j * 10 + k
If ((i ^ 3) + (j ^ 3) + (k ^ 3)) = s Then
Debug.Print s
End If
Next k
Next j
Next i
End Sub
楼上写的程序,我无语了,要是有这么简单就好了……
下面是我写的程序:
Private Sub Command1_Click()
Dim a%(1 To 100), isprime As Boolean, k%
Static b%
b = 0
Cls
'随机产生100个100到999的数
Print "随机产生的100个数是:"
Randomize
For i = 1 To 100
a(i) = Int(Rnd * 900 + 100)
Print a(i);
If i Mod 10 = 0 Then Print '十个数一行
Next i
'找出素数
Print "其中是素数的数有:"
For i = 1 To 100
If a(i) Mod 2 0 Then '能被2整除的肯定不是素数,故排除这种情况
isprime = True '奇数都有可能是素数,故先假设奇数都是素数
k = 3 '下面是判断a(i)是不是素数的算法,希望你能看懂
Do Until k Sqr(a(i)) Or Not isprime
If a(i) Mod k = 0 Then
isprime = False
Else
k = k + 2
End If
Loop
If isprime = True Or k Sqr(a(i)) Then
b = b + 1 '记录素数的个数
a(b) = a(i) '把素数用新的数组保存起来
Print a(b);
If b Mod 10 = 0 Then Print
End If
End If
Next i
'冒泡排序法
For x = b To 2 Step -1
For y = 1 To x - 1
If a(y) a(y + 1) Then temp = a(y): a(y) = a(y + 1): a(y + 1) = temp
Next y
Next x
'输出排序后的素数
Print "按从大到小排序后的素数:"
For i = 1 To b
Print a(i);
If i Mod 10 = 0 Then Print
Next i
End Sub
运行结果如图所示。
如果还没解决你的问题,可以加我百度HI账号。
Module Module1
Sub Main()
Console.WriteLine("找出100-500水仙花数:")
For i As Integer = 100 To 500
Dim bai As Integer = i \ 100
Dim shi As Integer = (i - bai * 100) \ 10
Dim ge As Integer = i - bai * 100 - shi * 10
If bai ^ 3 + shi ^ 3 + ge ^ 3 = i Then
Console.Write("{0} ", i)
End If
Next
Console.Read()
End Sub
End Module