vb演算法大全
⑴ vb涓璁$畻1+2+3+.+100鐨勭畻娉曟槸浠涔
瑙o細綆楁硶錛
絎涓姝ワ細杈撳叆x=1
絎浜屾ワ細璁$畻1+2
絎涓夋ワ細璁$畻1+2+3
.銆傘傘傘傘傘傘傘傘
銆傘傘傘傘傘傘
嫻佺▼鍥撅細
寮濮
s=0,i=1
i<=100
杈撳叆涓涓狽
緔鍔爏=s+n
璁℃暟涓嬈★細I= I+1
杈撳嚭s
緇撴潫
娉錛氬浘涓鏈変袱鏉$嚎娌℃湁鐢伙紝浣犲彲浠ヨ嚜宸辮ˉ涓婄殑
綆楁硶璇鍙ワ細VB
Private Sub Form_Click()
Dim s As Single, n As Integer, i As Integer
s = 0
n = Val(InputBox("杈撳叆n:"))
For i = 1 To n
s = s + 1
Next i
Print s
End Sub
⑵ VB階乘的演算法
求階乘的兩種演算法
方法一(計數循環)
使用For語句。
Function Factorial(n As Integer) As Long
On Error GoTo Hander
Dim i As Long
Factorial = 1
For i = n To 1 Step -1
Factorial = Factorial * i
Next i
Exit Function
Hander:
MsgBox "數值過大!", vbExclamation, "Error"
Resume Next
End Function
方法二(遞歸)
簡單地說,遞歸就是一個過程調用過程本身。
思路為:n! = n * (n-1)!
Function Factorial(n As Integer) As Long
On Error Goto Hander
If n > 0 Then
Factorial = n * Factorial(n - 1)
Else
Factorial = 1
End If
Exit Sub
Hander:
Msgbox "數值過大!",vbExclamation,"Error"
Resume Next
End Function
例如,當 n=5 時,求 Factorial(5) 的值變為 5 * Factorial(4)。而 Factorial(4) 又可變為 4 * Factorial(3) ......,Factorial(2)又可變為 2 * Factorial(1),這時 Factorial(1) = 1 已知,遞歸調用停止,其執行結果為 5 * 4 * 3 * 2 * 1,即 5! 。
過程中還是用了錯誤陷阱(On Error...),以防數值過大發生溢出錯誤。
⑶ vb三種基本排序演算法
三種基本排序演算法(與哪種編程語言無關):
冒泡排序演算法、選擇排序演算法、插入排序演算法
⑷ 濡備綍鐢╒B瀹炵幇闀挎柟褰㈤潰縐璁$畻錛
涓銆佹暟瀛︾煡璇嗭細
闀挎柟褰㈢殑闈㈢НS=a*b
闀挎柟褰㈠懆闀縇=2*錛坅+b錛
鍏朵腑a b鍒嗗埆涓洪暱鏂瑰艦鐨勫藉拰楂樸
浜屻佺畻娉曞垎鏋愶細
闀挎柟褰㈤潰縐鍙婂懆闀垮潎渚濊禆浜庡藉拰楂橈紝鎵浠ュ厛瑕佽緭鍏ュ介珮鍊礆紝鐒跺悗鏍規嵁鍏寮忚$畻錛岃緭鍑虹粨鏋滃嵆鍙銆
涓夈佸弬鑰冧唬鐮侊細
#include<stdio.h>
voidmain()
{
doublea,b;
doubleL,S;
scanf("%lf%lf",&a,&b);//杈撳叆瀹藉拰楂樸
L=2*(a+b);//璁$畻鍛ㄩ暱銆
S=a*b;//璁$畻闈㈢Н銆
printf("闈㈢Н=%lf,鍛ㄩ暱=%lf ",S,L);//杈撳嚭緇撴灉銆
}
鍥涖佹敞鎰忎簨欏癸細
鍥犱負娌℃湁闄愬埗杈撳叆涓烘暣鍨嬶紝鎵浠ヤ嬌鐢ㄦ誕鐐瑰瀷鐢ㄦ潵瀛樺偍鍚勯」鍊箋傝緭鍏ヨ緭鍑鴻佺敤%lf銆
⑸ VB演算法問題,一個堆數字中湊出指定數字
數據20-30個,這個高效與低效,運行時間應該差不了多少吧!
我給個簡單的演算法:
1,將這些數據讀入一個數組a()
2,對數組內的數據進行升序排序
3,依次從數組中取一個數與其他數進行求和
1)先算兩個數之和100的。從a(0)開始,當a(i)>50時,即可跳出循環,開始進行三個數之和是100的計算
2)當a(i)>34時,跳出循環,進行四個數之和是100的計算
3)當a(i)>25時,跳出循環,進行五個數之和是100的計算
依次類推