十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
VB實(shí)現(xiàn)水仙花數(shù)的程序代碼如下:
創(chuàng)新互聯(lián)建站專注于企業(yè)全網(wǎng)營銷推廣、網(wǎng)站重做改版、文圣網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城系統(tǒng)網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為文圣等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
PrivateSubCommand_Click()
Fornum=100To999
a=numMod10
b=num\10Mod10
c=num\100
Ifa^3+b^3+c^3=numThenPrintnum
Nextnum
EndSub
實(shí)現(xiàn)具體步驟如下:
1.啟動(dòng)VB程序,新建一個(gè)標(biāo)準(zhǔn)的exe項(xiàng)目,如下圖。
2.在窗體上繪制命令按鈕(名稱:命令),雙擊命令按鈕以進(jìn)入代碼窗口,如下圖。
3.接下來,開始為命令按鈕編寫單擊事件。click事件實(shí)現(xiàn)了上面提供的程序代碼,如下圖。
4.按F5運(yùn)行程序并單擊命令按鈕。水仙花產(chǎn)量為4:15,370,371,407,如下圖。
擴(kuò)展資料:
C語言實(shí)現(xiàn)水仙花數(shù)的代碼:
#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;/*分解出個(gè)位*/
if(n==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
注意事項(xiàng):
VB編程的核心思想是組件編程。VB是最早引入組件編程的概念,然后被其他語言采用并成為標(biāo)準(zhǔn),如vc++、Delphi、PowerBuilder等都采用了組件編程模型,并利用面向?qū)ο蟮木幊碳夹g(shù),成為當(dāng)今程序設(shè)計(jì)的發(fā)展方向之一。
VB編程,由于采用了組件技術(shù),所以不必從底層開始窗體,控制設(shè)計(jì),可以由工廠通過各種零件裝配生產(chǎn)機(jī)器,通過Microsoft或第三方提供的組件,裝配成所需的程序。與什么?VB是代碼,它像膠水一樣,把有限的代碼和組件粘合在一起。結(jié)果是一個(gè)完整的應(yīng)用程序。
VB有一個(gè)圖形用戶界面(GUI)和快速應(yīng)用程序開發(fā)(RAD)系統(tǒng),可以很容易地使用daos、RDO、ADO連接到數(shù)據(jù)庫,或者很容易地創(chuàng)建活動(dòng)的X控件,從而高效地生成類型安全的和面向?qū)ο蟮膽?yīng)用程序。
程序員可以使用VB提供的組件輕松快速地構(gòu)建應(yīng)用程序。VB的組件既可以擁有用戶界面,也可以沒有。這樣一來服務(wù)器端程序就可以處理增加的模塊。
VB使用參數(shù)計(jì)算的方法來進(jìn)行垃圾收集,這個(gè)方法中包含有大量的對(duì)象,提供基本的面向?qū)ο笾С帧R驗(yàn)樵絹碓蕉嘟M件的出現(xiàn),程序員可以選用自己需要的擴(kuò)展庫。
水仙花數(shù)是指一個(gè) n 位數(shù) ( n≥3 ),它的每個(gè)位上的數(shù)字的 n 次冪之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)
可以運(yùn)用將一個(gè) For...Next 循環(huán)放置在另一個(gè) For...Next 循環(huán)中,組成嵌套循環(huán)來解決水仙花求解問題。
以3位10進(jìn)制數(shù)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
'隨機(jī)產(chǎn)生100個(gè)100到999的數(shù)
Print "隨機(jī)產(chǎn)生的100個(gè)數(shù)是:"
Randomize
For i = 1 To 100
a(i) = Int(Rnd * 900 + 100)
Print a(i);
If i Mod 10 = 0 Then Print '十個(gè)數(shù)一行
Next i
'找出素?cái)?shù)
Print "其中是素?cái)?shù)的數(shù)有:"
For i = 1 To 100
If a(i) Mod 2 0 Then '能被2整除的肯定不是素?cái)?shù),故排除這種情況
isprime = True '奇數(shù)都有可能是素?cái)?shù),故先假設(shè)奇數(shù)都是素?cái)?shù)
k = 3 '下面是判斷a(i)是不是素?cái)?shù)的算法,希望你能看懂
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 '記錄素?cái)?shù)的個(gè)數(shù)
a(b) = a(i) '把素?cái)?shù)用新的數(shù)組保存起來
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
'輸出排序后的素?cái)?shù)
Print "按從大到小排序后的素?cái)?shù):"
For i = 1 To b
Print a(i);
If i Mod 10 = 0 Then Print
Next i
End Sub
運(yùn)行結(jié)果如圖所示。
如果還沒解決你的問題,可以加我百度HI賬號(hào)。
Module Module1
Sub Main()
Console.WriteLine("找出100-500水仙花數(shù):")
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